diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 6c2b8b2075..23c2e48283 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1543,6 +1543,11 @@ void cmMakefile::InitializeFromParent() // Initialize definitions with the closure of the parent scope. this->Internal->VarStack.top() = parent->Internal->VarStack.top().Closure(); + this->AddDefinition("CMAKE_CURRENT_SOURCE_DIR", + this->cmStartDirectory.c_str()); + this->AddDefinition("CMAKE_CURRENT_BINARY_DIR", + this->StartOutputDirectory.c_str()); + const std::vector& parentIncludes = parent->GetIncludeDirectoriesEntries(); this->IncludeDirectoriesEntries.insert(this->IncludeDirectoriesEntries.end(), @@ -1611,7 +1616,6 @@ void cmMakefile::InitializeFromParent() void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2) { lg2->GetMakefile()->InitializeFromParent(); - lg2->GetMakefile()->MakeStartDirectoriesCurrent(); if (this->GetCMakeInstance()->GetDebugOutput()) { std::string msg=" Entering "; diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 8da2ccdd31..356e4c2812 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -423,14 +423,6 @@ public: bool HasCMP0054AlreadyBeenReported( cmListFileContext context) const; - void MakeStartDirectoriesCurrent() - { - this->AddDefinition("CMAKE_CURRENT_SOURCE_DIR", - this->cmStartDirectory.c_str()); - this->AddDefinition("CMAKE_CURRENT_BINARY_DIR", - this->StartOutputDirectory.c_str()); - } - //@{ /** * Set/Get the home directory (or output directory) in the project. The