cmMakefile: Move IsRoot API from cmLocalGenerator.

This commit is contained in:
Stephen Kelly 2015-06-06 14:07:15 +02:00
parent 217c243db0
commit 8bfaadfa39
7 changed files with 13 additions and 13 deletions

View File

@ -529,7 +529,7 @@ cmGlobalUnixMakefileGenerator3
cmLocalUnixMakefileGenerator3* lg) cmLocalUnixMakefileGenerator3* lg)
{ {
// Only subdirectories need these rules. // Only subdirectories need these rules.
if(lg->IsRootMakefile()) if(lg->GetMakefile()->IsRootMakefile())
{ {
return; return;
} }
@ -1034,7 +1034,7 @@ void cmGlobalUnixMakefileGenerator3::WriteHelpRule
static_cast<cmLocalUnixMakefileGenerator3 *>(this->LocalGenerators[i]); static_cast<cmLocalUnixMakefileGenerator3 *>(this->LocalGenerators[i]);
// for the passed in makefile or if this is the top Makefile wripte out // for the passed in makefile or if this is the top Makefile wripte out
// the targets // the targets
if (lg2 == lg || lg->IsRootMakefile()) if (lg2 == lg || lg->GetMakefile()->IsRootMakefile())
{ {
// for each target Generate the rule files for each target. // for each target Generate the rule files for each target.
cmTargets& targets = lg2->GetMakefile()->GetTargets(); cmTargets& targets = lg2->GetMakefile()->GetTargets();

View File

@ -68,11 +68,6 @@ cmLocalGenerator::~cmLocalGenerator()
delete this->Makefile; delete this->Makefile;
} }
bool cmLocalGenerator::IsRootMakefile() const
{
return !this->StateSnapshot.GetBuildsystemDirectoryParent().IsValid();
}
void cmLocalGenerator::IssueMessage(cmake::MessageType t, void cmLocalGenerator::IssueMessage(cmake::MessageType t,
std::string const& text) const std::string const& text) const
{ {

View File

@ -40,9 +40,6 @@ public:
cmState::Snapshot snapshot); cmState::Snapshot snapshot);
virtual ~cmLocalGenerator(); virtual ~cmLocalGenerator();
/// @return whether we are processing the top CMakeLists.txt file.
bool IsRootMakefile() const;
/** /**
* Generate the makefile for this directory. * Generate the makefile for this directory.
*/ */

View File

@ -58,7 +58,7 @@ void cmLocalNinjaGenerator::Generate()
#endif #endif
// We do that only once for the top CMakeLists.txt file. // We do that only once for the top CMakeLists.txt file.
if(this->IsRootMakefile()) if(this->Makefile->IsRootMakefile())
{ {
this->WriteBuildFileTop(); this->WriteBuildFileTop();
@ -298,7 +298,7 @@ void cmLocalNinjaGenerator::WriteProcessedMakefile(std::ostream& os)
<< "# Write statements declared in CMakeLists.txt:" << std::endl << "# Write statements declared in CMakeLists.txt:" << std::endl
<< "# " << "# "
<< this->Makefile->GetDefinition("CMAKE_CURRENT_LIST_FILE") << std::endl; << this->Makefile->GetDefinition("CMAKE_CURRENT_LIST_FILE") << std::endl;
if(this->IsRootMakefile()) if(this->Makefile->IsRootMakefile())
os << "# Which is the root file." << std::endl; os << "# Which is the root file." << std::endl;
cmGlobalNinjaGenerator::WriteDivider(os); cmGlobalNinjaGenerator::WriteDivider(os);
os << std::endl; os << std::endl;

View File

@ -1608,6 +1608,11 @@ void cmMakefile::PopMacroScope(bool reportError)
this->PopFunctionBlockerBarrier(reportError); this->PopFunctionBlockerBarrier(reportError);
} }
bool cmMakefile::IsRootMakefile() const
{
return !this->StateSnapshot.GetBuildsystemDirectoryParent().IsValid();
}
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
class cmMakefileCurrent class cmMakefileCurrent
{ {

View File

@ -90,6 +90,9 @@ public:
*/ */
void AddFunctionBlocker(cmFunctionBlocker* fb); void AddFunctionBlocker(cmFunctionBlocker* fb);
/// @return whether we are processing the top CMakeLists.txt file.
bool IsRootMakefile() const;
/** /**
* Remove the function blocker whose scope ends with the given command. * Remove the function blocker whose scope ends with the given command.
* This returns ownership of the function blocker object. * This returns ownership of the function blocker object.

View File

@ -53,7 +53,7 @@ bool cmProjectCommand
// CMAKE_PROJECT_NAME will match PROJECT_NAME, and cmake --build // CMAKE_PROJECT_NAME will match PROJECT_NAME, and cmake --build
// will work. // will work.
if(!this->Makefile->GetDefinition("CMAKE_PROJECT_NAME") if(!this->Makefile->GetDefinition("CMAKE_PROJECT_NAME")
|| (this->Makefile->GetLocalGenerator()->IsRootMakefile())) || (this->Makefile->IsRootMakefile()))
{ {
this->Makefile->AddDefinition("CMAKE_PROJECT_NAME", args[0].c_str()); this->Makefile->AddDefinition("CMAKE_PROJECT_NAME", args[0].c_str());
this->Makefile->AddCacheDefinition this->Makefile->AddCacheDefinition