diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-08-01 10:05:13 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-08-01 11:07:11 (GMT) |
commit | 6c0e9ee276e9e35a970990baec09c0c2c85b3804 (patch) | |
tree | 1ab194088ca83c2e6bcb6c5bfd09ac69a8e3be13 /Source/cmMakefile.cxx | |
parent | 9432b14e916421a727265f9a05dc1fbe6c6ec381 (diff) | |
download | CMake-6c0e9ee276e9e35a970990baec09c0c2c85b3804.zip CMake-6c0e9ee276e9e35a970990baec09c0c2c85b3804.tar.gz CMake-6c0e9ee276e9e35a970990baec09c0c2c85b3804.tar.bz2 |
cmMakefile: Store EvaluationFiles.
Relieve the cmGlobalGenerator of this responsibility. Evaluate
the generator expressions in the context of the cmLocalGenerator.
Diffstat (limited to 'Source/cmMakefile.cxx')
-rw-r--r-- | Source/cmMakefile.cxx | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 4bdc9d5..1407888 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -21,6 +21,7 @@ #include "cmState.h" #include "cmOutputConverter.h" #include "cmFunctionBlocker.h" +#include "cmGeneratorExpressionEvaluationFile.h" #include "cmListFileCache.h" #include "cmCommandArgumentParserHelper.h" #include "cmGeneratorExpression.h" @@ -235,6 +236,9 @@ cmMakefile::~cmMakefile() cmDeleteAll(this->ImportedTargetsOwned); cmDeleteAll(this->FinalPassCommands); cmDeleteAll(this->FunctionBlockers); + cmDeleteAll(this->EvaluationFiles); + this->EvaluationFiles.clear(); + this->FunctionBlockers.clear(); if (this->PolicyStack.size() != 1) { @@ -777,6 +781,23 @@ void cmMakefile::EnforceDirectoryLevelRules() const } } +void cmMakefile::AddEvaluationFile(const std::string& inputFile, + cmsys::auto_ptr<cmCompiledGeneratorExpression> outputName, + cmsys::auto_ptr<cmCompiledGeneratorExpression> condition, + bool inputIsContent) +{ + this->EvaluationFiles.push_back( + new cmGeneratorExpressionEvaluationFile(inputFile, outputName, + this, condition, + inputIsContent)); +} + +std::vector<cmGeneratorExpressionEvaluationFile*> +cmMakefile::GetEvaluationFiles() const +{ + return this->EvaluationFiles; +} + namespace { struct file_not_persistent |