diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-04-12 13:26:54 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-04-28 05:50:57 (GMT) |
commit | ae6c8a9d68120229a2960a83b51241fdb926700a (patch) | |
tree | 89ae365d8ec15b0a2cf1c828a3474a2a44f4de76 | |
parent | 86f3cd0f7e0e0a0db210b5ed3f01766624dbc67f (diff) | |
download | CMake-ae6c8a9d68120229a2960a83b51241fdb926700a.zip CMake-ae6c8a9d68120229a2960a83b51241fdb926700a.tar.gz CMake-ae6c8a9d68120229a2960a83b51241fdb926700a.tar.bz2 |
cmState: Store the Source and Binary directories.
-rw-r--r-- | Source/cmState.cxx | 22 | ||||
-rw-r--r-- | Source/cmState.h | 7 | ||||
-rw-r--r-- | Source/cmake.cxx | 10 | ||||
-rw-r--r-- | Source/cmake.h | 2 |
4 files changed, 33 insertions, 8 deletions
diff --git a/Source/cmState.cxx b/Source/cmState.cxx index 96f8a51..6fbbc4b 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -444,3 +444,25 @@ bool cmState::GetGlobalPropertyAsBool(const std::string& prop) { return cmSystemTools::IsOn(this->GetGlobalProperty(prop)); } + +void cmState::SetSourceDirectory(std::string const& sourceDirectory) +{ + this->SourceDirectory = sourceDirectory; + cmSystemTools::ConvertToUnixSlashes(this->SourceDirectory); +} + +const char* cmState::GetSourceDirectory() const +{ + return this->SourceDirectory.c_str(); +} + +void cmState::SetBinaryDirectory(std::string const& binaryDirectory) +{ + this->BinaryDirectory = binaryDirectory; + cmSystemTools::ConvertToUnixSlashes(this->BinaryDirectory); +} + +const char* cmState::GetBinaryDirectory() const +{ + return this->BinaryDirectory.c_str(); +} diff --git a/Source/cmState.h b/Source/cmState.h index 34b2ccf..afacc36 100644 --- a/Source/cmState.h +++ b/Source/cmState.h @@ -95,12 +95,19 @@ public: const char *GetGlobalProperty(const std::string& prop); bool GetGlobalPropertyAsBool(const std::string& prop); + const char* GetSourceDirectory() const; + void SetSourceDirectory(std::string const& sourceDirectory); + const char* GetBinaryDirectory() const; + void SetBinaryDirectory(std::string const& binaryDirectory); + private: std::map<cmProperty::ScopeType, cmPropertyDefinitionMap> PropertyDefinitions; std::vector<std::string> EnabledLanguages; std::map<std::string, cmCommand*> Commands; cmPropertyMap GlobalProperties; cmake* CMakeInstance; + std::string SourceDirectory; + std::string BinaryDirectory; bool IsInTryCompile; }; diff --git a/Source/cmake.cxx b/Source/cmake.cxx index f72b088..5c5c428 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -978,24 +978,22 @@ cmGlobalGenerator* cmake::CreateGlobalGenerator(const std::string& gname) void cmake::SetHomeDirectory(const std::string& dir) { - this->cmHomeDirectory = dir; - cmSystemTools::ConvertToUnixSlashes(this->cmHomeDirectory); + this->State->SetSourceDirectory(dir); } const char* cmake::GetHomeDirectory() const { - return this->cmHomeDirectory.c_str(); + return this->State->GetSourceDirectory(); } void cmake::SetHomeOutputDirectory(const std::string& dir) { - this->HomeOutputDirectory = dir; - cmSystemTools::ConvertToUnixSlashes(this->HomeOutputDirectory); + this->State->SetBinaryDirectory(dir); } const char* cmake::GetHomeOutputDirectory() const { - return this->HomeOutputDirectory.c_str(); + return this->State->GetBinaryDirectory(); } void cmake::SetGlobalGenerator(cmGlobalGenerator *gg) diff --git a/Source/cmake.h b/Source/cmake.h index 9dd7c31..0d1977e 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -336,8 +336,6 @@ protected: cmPolicies *Policies; cmGlobalGenerator *GlobalGenerator; cmCacheManager *CacheManager; - std::string cmHomeDirectory; - std::string HomeOutputDirectory; bool SuppressDevWarnings; bool DoSuppressDevWarnings; std::string GeneratorPlatform; |