diff options
author | Luis Ibanez <luis.ibanez@kitware.com> | 2001-06-15 11:51:55 (GMT) |
---|---|---|
committer | Luis Ibanez <luis.ibanez@kitware.com> | 2001-06-15 11:51:55 (GMT) |
commit | f055e512ae5e6f808e321ca27f3a9bcfd4ba1165 (patch) | |
tree | 4622a1311b8ba443b5cd2bc24a1c31494269d1c9 /Source/FLTKDialog | |
parent | 38776d829b29d0a317e35bccfc7655c94d8dc04a (diff) | |
download | CMake-f055e512ae5e6f808e321ca27f3a9bcfd4ba1165.zip CMake-f055e512ae5e6f808e321ca27f3a9bcfd4ba1165.tar.gz CMake-f055e512ae5e6f808e321ca27f3a9bcfd4ba1165.tar.bz2 |
ENH: Absolute path to cmake resolved
Diffstat (limited to 'Source/FLTKDialog')
-rw-r--r-- | Source/FLTKDialog/CMakeSetupGUIImplementation.cxx | 67 | ||||
-rw-r--r-- | Source/FLTKDialog/CMakeSetupGUIImplementation.h | 1 | ||||
-rw-r--r-- | Source/FLTKDialog/FLTKDialog.cxx | 3 | ||||
-rw-r--r-- | Source/FLTKDialog/FLTKPropertyNameButtonWithHelp.cxx | 9 |
4 files changed, 54 insertions, 26 deletions
diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx index 08ad2e8..ea91e5f 100644 --- a/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx +++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.cxx @@ -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; - } @@ -131,6 +115,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 */ bool @@ -358,7 +383,7 @@ CMakeSetupGUIImplementation { cmCacheManager::GetInstance()->LoadCache( m_WhereBuild.c_str() ); this->FillCacheGUIFromCacheManager(); - } + } } diff --git a/Source/FLTKDialog/CMakeSetupGUIImplementation.h b/Source/FLTKDialog/CMakeSetupGUIImplementation.h index 5133d9f..9720125 100644 --- a/Source/FLTKDialog/CMakeSetupGUIImplementation.h +++ b/Source/FLTKDialog/CMakeSetupGUIImplementation.h @@ -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; diff --git a/Source/FLTKDialog/FLTKDialog.cxx b/Source/FLTKDialog/FLTKDialog.cxx index 5933ef5..39a3c38 100644 --- a/Source/FLTKDialog/FLTKDialog.cxx +++ b/Source/FLTKDialog/FLTKDialog.cxx @@ -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(); diff --git a/Source/FLTKDialog/FLTKPropertyNameButtonWithHelp.cxx b/Source/FLTKDialog/FLTKPropertyNameButtonWithHelp.cxx index 1bc9372..b2715ac 100644 --- a/Source/FLTKDialog/FLTKPropertyNameButtonWithHelp.cxx +++ b/Source/FLTKDialog/FLTKPropertyNameButtonWithHelp.cxx @@ -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 { |