diff options
author | Brad King <brad.king@kitware.com> | 2013-11-07 20:30:59 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-11-12 13:23:35 (GMT) |
commit | d1526f825e7464b8cb8a82b73718bbf2eb4965c9 (patch) | |
tree | 1830c8bb82b07c4a1c35145b677f975c9104a2b4 /Source/cmSystemTools.h | |
parent | 9fc158b6d5ae9902f544fd280c3b087c433fecc6 (diff) | |
download | CMake-d1526f825e7464b8cb8a82b73718bbf2eb4965c9.zip CMake-d1526f825e7464b8cb8a82b73718bbf2eb4965c9.tar.gz CMake-d1526f825e7464b8cb8a82b73718bbf2eb4965c9.tar.bz2 |
Refactor internal resource location APIs and initialization
Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources.
Teach it to compute the locations of cmake, ctest, cpack, ccmake, and
cmake-gui executables, and the location of CMAKE_ROOT. Provide this
information from static cmSystemTools::Get<resource>() methods.
Refactor code that needs these locations to use the new APIs.
Teach FindCMakeResources to use the OS X system API to lookup the
executable location. When running from the CMake build tree itself,
leave a file in the tree that FindCMakeResources can use to read the
location of the source tree. This avoids the need to compile the source
tree location into a binary that may be installed and used without the
source tree.
Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build
tree next to "cmake" and the other tools, as is already done in the
install tree for the application bundle. This ensures a consistent set
of executables are available in one directory.
Diffstat (limited to 'Source/cmSystemTools.h')
-rw-r--r-- | Source/cmSystemTools.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 07235da..69f6381 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -406,13 +406,16 @@ public: /** Random seed generation. */ static unsigned int RandomSeed(); - /** Find the directory containing the running executable. Save it - in a global location to be queried by GetExecutableDirectory - later. */ - static void FindExecutableDirectory(const char* argv0); - - /** Get the directory containing the currently running executable. */ - static const char* GetExecutableDirectory(); + /** Find the directory containing CMake executables. */ + static void FindCMakeResources(const char* argv0); + + /** Get the CMake resource paths, after FindCMakeResources. */ + static std::string const& GetCTestCommand(); + static std::string const& GetCPackCommand(); + static std::string const& GetCMakeCommand(); + static std::string const& GetCMakeGUICommand(); + static std::string const& GetCMakeCursesCommand(); + static std::string const& GetCMakeRoot(); #if defined(CMAKE_BUILD_WITH_CMAKE) /** Echo a message in color using KWSys's Terminal cprintf. */ |