diff options
author | Brad King <brad.king@kitware.com> | 2014-11-13 15:08:32 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-11-13 15:08:32 (GMT) |
commit | cddb5002b5c28c0cc5fe9c1e41a5e0f556b3e3a8 (patch) | |
tree | 82663543eff5ef399e9f51dfbe3d0ead4fc43265 /Source/cmGlobalGenerator.cxx | |
parent | f4e652b5633c14d3602be8805a2f0c49bb524147 (diff) | |
parent | b80557c7bdf12f9e924ac8b010d547ce4561848e (diff) | |
download | CMake-cddb5002b5c28c0cc5fe9c1e41a5e0f556b3e3a8.zip CMake-cddb5002b5c28c0cc5fe9c1e41a5e0f556b3e3a8.tar.gz CMake-cddb5002b5c28c0cc5fe9c1e41a5e0f556b3e3a8.tar.bz2 |
Merge topic 'file-GENERATE-source'
b80557c7 file(GENERATE): Evaluate early to allow generating source files
0019d54b Genex: Fix whitespace issue.
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index aec47fb..ab9dc88 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1263,8 +1263,6 @@ void cmGlobalGenerator::Generate() // Create per-target generator information. this->CreateGeneratorTargets(); - this->ForceLinkerLanguages(); - #ifdef CMAKE_BUILD_WITH_CMAKE for (AutogensType::iterator it = autogens.begin(); it != autogens.end(); ++it) @@ -1280,6 +1278,8 @@ void cmGlobalGenerator::Generate() this->LocalGenerators[i]->TraceDependencies(); } + this->ForceLinkerLanguages(); + // Compute the manifest of main targets generated. for (i = 0; i < this->LocalGenerators.size(); ++i) { @@ -2993,6 +2993,32 @@ std::string cmGlobalGenerator::EscapeJSON(const std::string& s) { } //---------------------------------------------------------------------------- +void cmGlobalGenerator::SetFilenameTargetDepends(cmSourceFile* sf, + std::set<cmTarget const*> tgts) +{ + this->FilenameTargetDepends[sf] = tgts; +} + +//---------------------------------------------------------------------------- +std::set<cmTarget const*> const& +cmGlobalGenerator::GetFilenameTargetDepends(cmSourceFile* sf) const { + return this->FilenameTargetDepends[sf]; +} + +//---------------------------------------------------------------------------- +void cmGlobalGenerator::CreateEvaluationSourceFiles( + std::string const& config) const +{ + for(std::vector<cmGeneratorExpressionEvaluationFile*>::const_iterator + li = this->EvaluationFiles.begin(); + li != this->EvaluationFiles.end(); + ++li) + { + (*li)->CreateOutputFile(config); + } +} + +//---------------------------------------------------------------------------- void cmGlobalGenerator::AddEvaluationFile(const std::string &inputFile, cmsys::auto_ptr<cmCompiledGeneratorExpression> outputExpr, cmMakefile *makefile, |