summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-04-12 13:26:54 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-04-28 05:50:57 (GMT)
commitae6c8a9d68120229a2960a83b51241fdb926700a (patch)
tree89ae365d8ec15b0a2cf1c828a3474a2a44f4de76
parent86f3cd0f7e0e0a0db210b5ed3f01766624dbc67f (diff)
downloadCMake-ae6c8a9d68120229a2960a83b51241fdb926700a.zip
CMake-ae6c8a9d68120229a2960a83b51241fdb926700a.tar.gz
CMake-ae6c8a9d68120229a2960a83b51241fdb926700a.tar.bz2
cmState: Store the Source and Binary directories.
-rw-r--r--Source/cmState.cxx22
-rw-r--r--Source/cmState.h7
-rw-r--r--Source/cmake.cxx10
-rw-r--r--Source/cmake.h2
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;