summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-05-04 21:01:29 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-05-16 06:11:33 (GMT)
commit57bdc1a2f7d416c106c4bef8f3543eec74c3c391 (patch)
tree35f8d079bab6b86e79472663bd6a582fab2be7fa /Source/cmake.cxx
parentebf8a41984f591dbd6c22735aec7f2b1c36c9e0a (diff)
downloadCMake-57bdc1a2f7d416c106c4bef8f3543eec74c3c391.zip
CMake-57bdc1a2f7d416c106c4bef8f3543eec74c3c391.tar.gz
CMake-57bdc1a2f7d416c106c4bef8f3543eec74c3c391.tar.bz2
cmState: Compute and store directory components.
There is no need to duplicate these in all cmLocalGenerators. Rename the symbols according to current conventions. Add explicit calls to Set{Source,Binary}Directory with empty strings in order to trigger the population of the components containers with the current working directory in cmLocalGenerator. Having directories set to empty is a special case in CMake, which is relied on for the `if(CMAKE_BINARY_DIR)` condition at the end of CMakeDetermineSystem.cmake.
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 5c5c428..706f50f 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1925,6 +1925,8 @@ int cmake::CheckBuildSystem()
// Read the rerun check file and use it to decide whether to do the
// global generate.
cmake cm;
+ cm.SetHomeDirectory("");
+ cm.SetHomeOutputDirectory("");
cmGlobalGenerator gg;
gg.SetCMakeInstance(&cm);
cmsys::auto_ptr<cmLocalGenerator> lg(gg.CreateLocalGenerator());
@@ -2580,6 +2582,9 @@ int cmake::Build(const std::string& dir,
const std::vector<std::string>& nativeOptions,
bool clean)
{
+
+ this->SetHomeDirectory("");
+ this->SetHomeOutputDirectory("");
if(!cmSystemTools::FileIsDirectory(dir))
{
std::cerr << "Error: " << dir << " is not a directory\n";