diff --git a/Source/cmCustomCommandGenerator.cxx b/Source/cmCustomCommandGenerator.cxx index 11308c682..f654eb9e4 100644 --- a/Source/cmCustomCommandGenerator.cxx +++ b/Source/cmCustomCommandGenerator.cxx @@ -21,7 +21,7 @@ cmCustomCommandGenerator::cmCustomCommandGenerator( cmCustomCommand const& cc, const std::string& config, cmMakefile* mf): CC(cc), Config(config), Makefile(mf), OldStyle(cc.GetEscapeOldStyle()), MakeVars(cc.GetEscapeAllowMakeVars()), - GE(new cmGeneratorExpression(&cc.GetBacktrace())), DependsDone(false) + GE(new cmGeneratorExpression(cc.GetBacktrace())), DependsDone(false) { } diff --git a/Source/cmExtraCodeLiteGenerator.cxx b/Source/cmExtraCodeLiteGenerator.cxx index 9705d2bb4..c2cff14a1 100644 --- a/Source/cmExtraCodeLiteGenerator.cxx +++ b/Source/cmExtraCodeLiteGenerator.cxx @@ -141,24 +141,6 @@ void cmExtraCodeLiteGenerator return; } - // figure out the compiler - //std::string compiler = this->GetCBCompilerId(mf); - std::string workspaceSourcePath = mf->GetHomeDirectory(); - std::string workspaceOutputDir = mf->GetHomeOutputDirectory(); - std::vector outputFiles = mf->GetOutputFiles(); - std::string projectName = mf->GetProjectName(); - std::string incDirs; - std::vector incDirsVec = - mf->GetIncludeDirectoriesEntries(); - std::vector::const_iterator iterInc = incDirsVec.begin(); - - //std::cout << "GetIncludeDirectories:" << std::endl; - for(; iterInc != incDirsVec.end(); ++iterInc ) - { - //std::cout << (*ItStrVec) << std::endl; - incDirs += iterInc->Value + " "; - } - //////////////////////////////////// fout << "\n" "GetProjectName() diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index f740020b2..3d84f3827 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -3565,11 +3565,11 @@ void cmFileCommand::AddEvaluationFile(const std::string &inputName, { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression outputGe(&lfbt); + cmGeneratorExpression outputGe(lfbt); cmsys::auto_ptr outputCge = outputGe.Parse(outputExpr); - cmGeneratorExpression conditionGe(&lfbt); + cmGeneratorExpression conditionGe(lfbt); cmsys::auto_ptr conditionCge = conditionGe.Parse(condition); diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx index 3655a8782..80a4f8179 100644 --- a/Source/cmGeneratorExpression.cxx +++ b/Source/cmGeneratorExpression.cxx @@ -23,7 +23,7 @@ //---------------------------------------------------------------------------- cmGeneratorExpression::cmGeneratorExpression( - cmListFileBacktrace const* backtrace): + const cmListFileBacktrace& backtrace): Backtrace(backtrace) { } @@ -33,9 +33,7 @@ cmsys::auto_ptr cmGeneratorExpression::Parse(std::string const& input) { return cmsys::auto_ptr( - new cmCompiledGeneratorExpression( - this->Backtrace ? *this->Backtrace : cmListFileBacktrace(), - input)); + new cmCompiledGeneratorExpression(this->Backtrace, input)); } //---------------------------------------------------------------------------- diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h index 11c27fdcf..cd19bc014 100644 --- a/Source/cmGeneratorExpression.h +++ b/Source/cmGeneratorExpression.h @@ -42,7 +42,8 @@ class cmGeneratorExpression { public: /** Construct. */ - cmGeneratorExpression(cmListFileBacktrace const* backtrace = NULL); + cmGeneratorExpression( + cmListFileBacktrace const& backtrace = cmListFileBacktrace()); ~cmGeneratorExpression(); cmsys::auto_ptr Parse( @@ -71,7 +72,7 @@ private: cmGeneratorExpression(const cmGeneratorExpression &); void operator=(const cmGeneratorExpression &); - cmListFileBacktrace const* Backtrace; + cmListFileBacktrace Backtrace; }; class cmCompiledGeneratorExpression diff --git a/Source/cmGeneratorExpressionEvaluationFile.cxx b/Source/cmGeneratorExpressionEvaluationFile.cxx index c7269954b..92ff314b8 100644 --- a/Source/cmGeneratorExpressionEvaluationFile.cxx +++ b/Source/cmGeneratorExpressionEvaluationFile.cxx @@ -152,7 +152,7 @@ void cmGeneratorExpressionEvaluationFile::Generate() } cmListFileBacktrace lfbt = this->OutputFileExpr->GetBacktrace(); - cmGeneratorExpression contentGE(&lfbt); + cmGeneratorExpression contentGE(lfbt); cmsys::auto_ptr inputExpression = contentGE.Parse(inputContent); diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx index 293eb415d..90c82c263 100644 --- a/Source/cmGeneratorExpressionNode.cxx +++ b/Source/cmGeneratorExpressionNode.cxx @@ -21,7 +21,7 @@ std::string cmGeneratorExpressionNode::EvaluateDependentExpression( cmTarget const* headTarget, cmTarget const* currentTarget, cmGeneratorExpressionDAGChecker *dagChecker) { - cmGeneratorExpression ge(&context->Backtrace); + cmGeneratorExpression ge(context->Backtrace); cmsys::auto_ptr cge = ge.Parse(prop); cge->SetEvaluateForBuildsystem(context->EvaluateForBuildsystem); std::string result = cge->Evaluate(makefile, diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 449455306..e6f7a43df 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -878,7 +878,7 @@ cmTargetTraceDependencies { // Transform command names that reference targets built in this // project to corresponding target-level dependencies. - cmGeneratorExpression ge(&cc.GetBacktrace()); + cmGeneratorExpression ge(cc.GetBacktrace()); // Add target-level dependencies referenced by generator expressions. std::set targets; diff --git a/Source/cmGetCMakePropertyCommand.cxx b/Source/cmGetCMakePropertyCommand.cxx index a460ca6ed..5a1644ca0 100644 --- a/Source/cmGetCMakePropertyCommand.cxx +++ b/Source/cmGetCMakePropertyCommand.cxx @@ -32,10 +32,9 @@ bool cmGetCMakePropertyCommand if ( args[1] == "VARIABLES" ) { - std::vector vars = this->Makefile->GetDefinitions(); - if (!vars.empty()) + if (const char* varsProp = this->Makefile->GetProperty("VARIABLES")) { - output = cmJoin(vars, ";"); + output = varsProp; } } else if ( args[1] == "MACROS" ) diff --git a/Source/cmInstalledFile.cxx b/Source/cmInstalledFile.cxx index 8c52b488c..fa5e81528 100644 --- a/Source/cmInstalledFile.cxx +++ b/Source/cmInstalledFile.cxx @@ -44,7 +44,7 @@ cmInstalledFile::Property::~Property() void cmInstalledFile::SetName(cmMakefile* mf, const std::string& name) { cmListFileBacktrace backtrace = mf->GetBacktrace(); - cmGeneratorExpression ge(&backtrace); + cmGeneratorExpression ge(backtrace); this->Name = name; this->NameExpression = ge.Parse(name).release(); @@ -81,7 +81,7 @@ void cmInstalledFile::AppendProperty(cmMakefile const* mf, const std::string& prop, const char* value, bool /*asString*/) { cmListFileBacktrace backtrace = mf->GetBacktrace(); - cmGeneratorExpression ge(&backtrace); + cmGeneratorExpression ge(backtrace); Property& property = this->Properties[prop]; property.ValueExpressions.push_back(ge.Parse(value).release()); diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx index 1097dc2cc..bff298615 100644 --- a/Source/cmListFileCache.cxx +++ b/Source/cmListFileCache.cxx @@ -398,7 +398,7 @@ bool cmListFileParser::AddArgument(cmListFileLexer_Token* token, } } -void cmListFileBacktrace::PrintTitle(std::ostream& out) +void cmListFileBacktrace::PrintTitle(std::ostream& out) const { if (!this->Snapshot.IsValid()) { @@ -412,7 +412,7 @@ void cmListFileBacktrace::PrintTitle(std::ostream& out) out << (lfc.Line ? " at " : " in ") << lfc; } -void cmListFileBacktrace::PrintCallStack(std::ostream& out) +void cmListFileBacktrace::PrintCallStack(std::ostream& out) const { if (!this->Snapshot.IsValid()) { diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h index aa8a34c6c..0afd7f5d3 100644 --- a/Source/cmListFileCache.h +++ b/Source/cmListFileCache.h @@ -95,8 +95,8 @@ class cmListFileBacktrace { } - void PrintTitle(std::ostream& out); - void PrintCallStack(std::ostream& out); + void PrintTitle(std::ostream& out) const; + void PrintCallStack(std::ostream& out) const; private: cmCommandContext Context; cmState::Snapshot Snapshot; diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx index 5d17a404a..64f8bb8e6 100644 --- a/Source/cmLocalUnixMakefileGenerator3.cxx +++ b/Source/cmLocalUnixMakefileGenerator3.cxx @@ -256,7 +256,7 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile() return; } // always write the top makefile - if (this->Parent) + if (!this->GetMakefile()->IsRootMakefile()) { ruleFileStream.SetCopyIfDifferent(true); } @@ -267,7 +267,7 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile() // only write local targets unless at the top Keep track of targets already // listed. std::set emittedTargets; - if (this->Parent) + if (!this->GetMakefile()->IsRootMakefile()) { // write our targets, and while doing it collect up the object // file rules @@ -888,7 +888,7 @@ void cmLocalUnixMakefileGenerator3 std::vector no_depends; std::vector commands; commands.push_back(runRule); - if(this->Parent) + if(!this->GetMakefile()->IsRootMakefile()) { this->CreateCDCommand(commands, this->Makefile->GetHomeOutputDirectory(), diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 2216264fd..62d800294 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -19,6 +19,7 @@ #include "cmLocalGenerator.h" #include "cmCommands.h" #include "cmState.h" +#include "cmOutputConverter.h" #include "cmFunctionBlocker.h" #include "cmListFileCache.h" #include "cmCommandArgumentParserHelper.h" @@ -4150,10 +4151,10 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) if (prop == "INCLUDE_DIRECTORIES") { this->IncludeDirectoriesEntries.clear(); - if (!value) - { - return; - } + if (!value) + { + return; + } cmListFileBacktrace lfbt = this->GetBacktrace(); this->IncludeDirectoriesEntries.push_back( cmValueWithOrigin(value, lfbt)); @@ -4162,10 +4163,10 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) if (prop == "COMPILE_OPTIONS") { this->CompileOptionsEntries.clear(); - if (!value) - { - return; - } + if (!value) + { + return; + } cmListFileBacktrace lfbt = this->GetBacktrace(); this->CompileOptionsEntries.push_back(cmValueWithOrigin(value, lfbt)); return; @@ -4189,16 +4190,6 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) return; } - if ( prop == "ADDITIONAL_MAKE_CLEAN_FILES" ) - { - // This property is not inherrited - if ( strcmp(this->GetCurrentSourceDirectory(), - this->GetCurrentSourceDirectory()) != 0 ) - { - return; - } - } - this->Properties.SetProperty(prop, value); } diff --git a/Source/cmState.cxx b/Source/cmState.cxx index 2d8b93530..bd37e614e 100644 --- a/Source/cmState.cxx +++ b/Source/cmState.cxx @@ -470,8 +470,6 @@ void cmState::AppendGlobalProperty(const std::string& prop, const char *cmState::GetGlobalProperty(const std::string& prop) { - // watch for special properties - std::string output = ""; if ( prop == "CACHE_VARIABLES" ) { std::vector cacheKeys = this->GetCacheEntryKeys(); diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 0303f1e4b..46e9ed4a1 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -916,7 +916,7 @@ void cmTarget::AddTracedSources(std::vector const& srcs) this->Internal->SourceFilesMap.clear(); this->LinkImplementationLanguageIsContextDependent = true; cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); cmsys::auto_ptr cge = ge.Parse(srcFiles); cge->SetEvaluateForBuildsystem(true); this->Internal->SourceEntries.push_back( @@ -956,7 +956,7 @@ void cmTarget::AddSources(std::vector const& srcs) this->Internal->SourceFilesMap.clear(); this->LinkImplementationLanguageIsContextDependent = true; cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); cmsys::auto_ptr cge = ge.Parse(srcFiles); cge->SetEvaluateForBuildsystem(true); this->Internal->SourceEntries.push_back( @@ -1089,7 +1089,7 @@ cmSourceFile* cmTarget::AddSource(const std::string& src) this->Internal->SourceFilesMap.clear(); this->LinkImplementationLanguageIsContextDependent = true; cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); cmsys::auto_ptr cge = ge.Parse(src); cge->SetEvaluateForBuildsystem(true); this->Internal->SourceEntries.push_back( @@ -1710,7 +1710,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) else if(prop == "INCLUDE_DIRECTORIES") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->IncludeDirectoriesEntries); cmsys::auto_ptr cge = ge.Parse(value); this->Internal->IncludeDirectoriesEntries.push_back( @@ -1719,7 +1719,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) else if(prop == "COMPILE_OPTIONS") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->CompileOptionsEntries); cmsys::auto_ptr cge = ge.Parse(value); this->Internal->CompileOptionsEntries.push_back( @@ -1728,7 +1728,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) else if(prop == "COMPILE_FEATURES") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->CompileFeaturesEntries); cmsys::auto_ptr cge = ge.Parse(value); this->Internal->CompileFeaturesEntries.push_back( @@ -1737,7 +1737,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) else if(prop == "COMPILE_DEFINITIONS") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); deleteAndClear(this->Internal->CompileDefinitionsEntries); cmsys::auto_ptr cge = ge.Parse(value); this->Internal->CompileDefinitionsEntries.push_back( @@ -1772,7 +1772,7 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) } this->Internal->SourceFilesMap.clear(); cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); this->Internal->SourceEntries.clear(); cmsys::auto_ptr cge = ge.Parse(value); this->Internal->SourceEntries.push_back( @@ -1808,28 +1808,28 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, else if(prop == "INCLUDE_DIRECTORIES") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); this->Internal->IncludeDirectoriesEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); } else if(prop == "COMPILE_OPTIONS") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); this->Internal->CompileOptionsEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); } else if(prop == "COMPILE_FEATURES") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); this->Internal->CompileFeaturesEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); } else if(prop == "COMPILE_DEFINITIONS") { cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); this->Internal->CompileDefinitionsEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(value))); } @@ -1861,7 +1861,7 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } this->Internal->SourceFilesMap.clear(); cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - cmGeneratorExpression ge(&lfbt); + cmGeneratorExpression ge(lfbt); cmsys::auto_ptr cge = ge.Parse(value); this->Internal->SourceEntries.push_back( new cmTargetInternals::TargetPropertyEntry(cge)); @@ -1929,7 +1929,7 @@ void cmTarget::AppendBuildInterfaceIncludes() void cmTarget::InsertInclude(const cmValueWithOrigin &entry, bool before) { - cmGeneratorExpression ge(&entry.Backtrace); + cmGeneratorExpression ge(entry.Backtrace); std::vector::iterator position = before ? this->Internal->IncludeDirectoriesEntries.begin() @@ -1943,7 +1943,7 @@ void cmTarget::InsertInclude(const cmValueWithOrigin &entry, void cmTarget::InsertCompileOption(const cmValueWithOrigin &entry, bool before) { - cmGeneratorExpression ge(&entry.Backtrace); + cmGeneratorExpression ge(entry.Backtrace); std::vector::iterator position = before ? this->Internal->CompileOptionsEntries.begin() @@ -1956,7 +1956,7 @@ void cmTarget::InsertCompileOption(const cmValueWithOrigin &entry, //---------------------------------------------------------------------------- void cmTarget::InsertCompileDefinition(const cmValueWithOrigin &entry) { - cmGeneratorExpression ge(&entry.Backtrace); + cmGeneratorExpression ge(entry.Backtrace); this->Internal->CompileDefinitionsEntries.push_back( new cmTargetInternals::TargetPropertyEntry(ge.Parse(entry.Value))); @@ -6162,7 +6162,7 @@ void cmTargetInternals::AddInterfaceEntries( { std::string genex = "$"; - cmGeneratorExpression ge(&it->Backtrace); + cmGeneratorExpression ge(it->Backtrace); cmsys::auto_ptr cge = ge.Parse(genex); cge->SetEvaluateForBuildsystem(true); entries.push_back( @@ -6258,7 +6258,7 @@ cmTargetInternals::ComputeLinkImplementationLibraries( cmGeneratorExpressionDAGChecker dagChecker( thisTarget->GetName(), "LINK_LIBRARIES", 0, 0); - cmGeneratorExpression ge(&le->Backtrace); + cmGeneratorExpression ge(le->Backtrace); cmsys::auto_ptr const cge = ge.Parse(le->Value); std::string const evaluated = diff --git a/Source/cmTestGenerator.cxx b/Source/cmTestGenerator.cxx index 546ad71b8..65d3b6ac2 100644 --- a/Source/cmTestGenerator.cxx +++ b/Source/cmTestGenerator.cxx @@ -70,7 +70,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os, this->TestGenerated = true; // Set up generator expression evaluation context. - cmGeneratorExpression ge(&this->Test->GetBacktrace()); + cmGeneratorExpression ge(this->Test->GetBacktrace()); // Start the test command. os << indent << "add_test(" << this->Test->GetName() << " ";