ENH: Absolute path to cmake resolved
This commit is contained in:
parent
38776d829b
commit
f055e512ae
|
@ -1,14 +1,14 @@
|
|||
|
||||
#include "CMakeSetupGUIImplementation.h"
|
||||
#include "FL/fl_file_chooser.H"
|
||||
#include "FL/filename.H"
|
||||
#include "FL/fl_ask.H"
|
||||
#include "Fl/fl_file_chooser.H"
|
||||
#include "Fl/filename.H"
|
||||
#include "Fl/fl_ask.H"
|
||||
#include "cstring"
|
||||
#include "../cmCacheManager.h"
|
||||
#include "../cmMakefile.h"
|
||||
#include <iostream>
|
||||
#include "FLTKPropertyList.h"
|
||||
#include "FL/fl_draw.H"
|
||||
#include "Fl/fl_draw.H"
|
||||
#include "../cmake.h"
|
||||
|
||||
|
||||
|
@ -20,22 +20,6 @@ CMakeSetupGUIImplementation
|
|||
::CMakeSetupGUIImplementation()
|
||||
{
|
||||
m_BuildPathChanged = false;
|
||||
|
||||
// Construct the full path to cmake executable
|
||||
|
||||
#if defined(_WIN32)
|
||||
char fname[1024];
|
||||
::GetModuleFileName(NULL,fname,1023); // Didn't found this method. (?)
|
||||
m_PathToExecutable = cmSystemTools::GetProgramPath(fname).c_str();
|
||||
m_PathToExecutable += "/cmake.exe";
|
||||
#else
|
||||
char fullPathToCMake[1024];
|
||||
filename_absolute( fullPathToCMake, "../cmake" );
|
||||
m_PathToExecutable = fullPathToCMake;
|
||||
#endif
|
||||
|
||||
std::cout << "Path to CMake executable " << m_PathToExecutable << std::endl;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -130,6 +114,47 @@ CMakeSetupGUIImplementation
|
|||
|
||||
|
||||
|
||||
/**
|
||||
* Set path to executable. Used to get the path to CMake
|
||||
*/
|
||||
void
|
||||
CMakeSetupGUIImplementation
|
||||
::SetPathToExecutable( const char * path )
|
||||
{
|
||||
m_PathToExecutable = path;
|
||||
|
||||
char expandedPath[1024];
|
||||
filename_expand( expandedPath, path );
|
||||
|
||||
char absolutePath[1024];
|
||||
filename_absolute( absolutePath, expandedPath );
|
||||
|
||||
char * p = absolutePath + strlen( absolutePath );
|
||||
while( *p != '/' && *p != '\\' )
|
||||
{
|
||||
p--;
|
||||
}
|
||||
p--;
|
||||
while( *p != '/' && *p != '\\' )
|
||||
{
|
||||
p--;
|
||||
}
|
||||
*p = '\0';
|
||||
|
||||
std::cout << "absolutePath = " << absolutePath << std::endl;
|
||||
|
||||
m_PathToExecutable = absolutePath;
|
||||
|
||||
#if defined(_WIN32)
|
||||
m_PathToExecutable += "/CMake.exe";
|
||||
#else
|
||||
m_PathToExecutable += "/cmake";
|
||||
#endif
|
||||
std::cout << "Path to CMake executable = " << m_PathToExecutable << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Set the source path
|
||||
*/
|
||||
|
@ -358,7 +383,7 @@ CMakeSetupGUIImplementation
|
|||
{
|
||||
cmCacheManager::GetInstance()->LoadCache( m_WhereBuild.c_str() );
|
||||
this->FillCacheGUIFromCacheManager();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ public:
|
|||
virtual void LoadCacheFromDiskToGUI( void );
|
||||
virtual void FillCacheGUIFromCacheManager( void );
|
||||
virtual void FillCacheManagerFromCacheGUI( void );
|
||||
virtual void SetPathToExecutable( const char * path );
|
||||
|
||||
private:
|
||||
virtual bool VerifyBinaryPath( const std::string & path ) const;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "FL/Fl.h"
|
||||
#include "FL/fl_ask.H"
|
||||
|
||||
int main()
|
||||
int main(int argc, char * argv[] )
|
||||
{
|
||||
|
||||
fl_message_font(FL_HELVETICA,11);
|
||||
|
@ -11,6 +11,7 @@ int main()
|
|||
CMakeSetupGUIImplementation * gui
|
||||
= new CMakeSetupGUIImplementation;
|
||||
|
||||
gui->SetPathToExecutable( argv[0] );
|
||||
gui->Show();
|
||||
gui->LoadCacheFromDiskToGUI();
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#include "FLTKPropertyNameButtonWithHelp.h"
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/fl_ask.H>
|
||||
#include <FL/Fl_Menu_Button.H>
|
||||
// #include <FLTKPropertyNameButtonWithHelp.h>
|
||||
#include <Fl/Fl.H>
|
||||
#include <Fl/fl_ask.H>
|
||||
#include <Fl/Fl_Menu_Button.H>
|
||||
#include "../cmCacheManager.h"
|
||||
#include "FLTKPropertyNameButtonWithHelp.h"
|
||||
|
||||
|
||||
namespace fltk {
|
||||
|
|
Loading…
Reference in New Issue