summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-04-16 07:24:16 (GMT)
committerBrad King <brad.king@kitware.com>2015-04-21 13:41:27 (GMT)
commit8dc3a67c9c3c5b49fe7a3b69dab7d60475414c59 (patch)
tree2ab020aa20fb8dd6a8a33ba5cba661318b36628b /Source
parent0f3c8cfa96a3b7c426e5a9cc341410fefd2baf75 (diff)
downloadCMake-8dc3a67c9c3c5b49fe7a3b69dab7d60475414c59.zip
CMake-8dc3a67c9c3c5b49fe7a3b69dab7d60475414c59.tar.gz
CMake-8dc3a67c9c3c5b49fe7a3b69dab7d60475414c59.tar.bz2
cmMakefile: Out-of-line the directory methods.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmMakefile.cxx31
-rw-r--r--Source/cmMakefile.h41
2 files changed, 35 insertions, 37 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 3bbc5d8..7beb932 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1667,6 +1667,37 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
}
}
+void cmMakefile::SetCurrentSourceDirectory(const std::string& dir)
+{
+ this->cmStartDirectory = dir;
+ cmSystemTools::ConvertToUnixSlashes(this->cmStartDirectory);
+ this->cmStartDirectory =
+ cmSystemTools::CollapseFullPath(this->cmStartDirectory);
+ this->AddDefinition("CMAKE_CURRENT_SOURCE_DIR",
+ this->cmStartDirectory.c_str());
+}
+
+const char* cmMakefile::GetCurrentSourceDirectory() const
+{
+ return this->cmStartDirectory.c_str();
+}
+
+void cmMakefile::SetCurrentBinaryDirectory(const std::string& dir)
+{
+ this->StartOutputDirectory = dir;
+ cmSystemTools::ConvertToUnixSlashes(this->StartOutputDirectory);
+ this->StartOutputDirectory =
+ cmSystemTools::CollapseFullPath(this->StartOutputDirectory);
+ cmSystemTools::MakeDirectory(this->StartOutputDirectory.c_str());
+ this->AddDefinition("CMAKE_CURRENT_BINARY_DIR",
+ this->StartOutputDirectory.c_str());
+}
+
+const char* cmMakefile::GetCurrentBinaryDirectory() const
+{
+ return this->StartOutputDirectory.c_str();
+}
+
//----------------------------------------------------------------------------
void cmMakefile::AddIncludeDirectories(const std::vector<std::string> &incs,
bool before)
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 8472825..55b2cbd 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -447,43 +447,10 @@ public:
*/
void SetArgcArgv(const std::vector<std::string>& args);
- //@{
- /**
- * Set/Get the start directory (or output directory). The start directory
- * is the directory of the CMakeLists.txt file that started the current
- * round of processing. Remember that CMake processes CMakeLists files by
- * recursing up the tree starting at the StartDirectory and going up until
- * it reaches the HomeDirectory.
- */
- void SetCurrentSourceDirectory(const std::string& dir)
- {
- this->cmStartDirectory = dir;
- cmSystemTools::ConvertToUnixSlashes(this->cmStartDirectory);
- this->cmStartDirectory =
- cmSystemTools::CollapseFullPath(this->cmStartDirectory);
- this->AddDefinition("CMAKE_CURRENT_SOURCE_DIR",
- this->cmStartDirectory.c_str());
- }
- void SetCurrentBinaryDirectory(const std::string& dir)
- {
- this->StartOutputDirectory = dir;
- cmSystemTools::ConvertToUnixSlashes(this->StartOutputDirectory);
- this->StartOutputDirectory =
- cmSystemTools::CollapseFullPath(this->StartOutputDirectory);
- cmSystemTools::MakeDirectory(this->StartOutputDirectory.c_str());
- this->AddDefinition("CMAKE_CURRENT_BINARY_DIR",
- this->StartOutputDirectory.c_str());
- }
- //@}
-
- const char* GetCurrentSourceDirectory() const
- {
- return this->cmStartDirectory.c_str();
- }
- const char* GetCurrentBinaryDirectory() const
- {
- return this->StartOutputDirectory.c_str();
- }
+ void SetCurrentSourceDirectory(const std::string& dir);
+ const char* GetCurrentSourceDirectory() const;
+ void SetCurrentBinaryDirectory(const std::string& dir);
+ const char* GetCurrentBinaryDirectory() const;
/* Get the current CMakeLists.txt file that is being processed. This
* is just used in order to be able to 'branch' from one file to a second