diff options
author | Brad King <brad.king@kitware.com> | 2012-03-28 17:49:01 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-03-28 18:07:51 (GMT) |
commit | 01e979acef392776bd1ea1fb38126957746954e7 (patch) | |
tree | 5fa9d2f6ec1424b234f6111c49a7bd70fce05096 /Source/cmGlobalVisualStudioGenerator.cxx | |
parent | 9a2c60eb836ae26a2cd47f3c21a810047b695db9 (diff) | |
download | CMake-01e979acef392776bd1ea1fb38126957746954e7.zip CMake-01e979acef392776bd1ea1fb38126957746954e7.tar.gz CMake-01e979acef392776bd1ea1fb38126957746954e7.tar.bz2 |
VS: Add CMakeLists.txt re-run rules at start of generation
Since commit 328c0f65 (Simplify cmVisualStudio10TargetGenerator source
classification, 2012-03-19) the VS 10 generator uses the
cmGeneratorTarget source classification instead of directly getting the
list of source files from the target. This accidentally dropped the
CMakeLists.txt files from generated projects because they are added too
late for cmGeneratorTarget.
All generator-specific source files must be added to targets prior to
cmGeneratorTarget construction. Refactor addition of the CMakeLists.txt
files with CMake re-run custom commands to take place before normal
generation begins, and therefore early enough to be included in the
cmGeneratorTarget classification.
Diffstat (limited to 'Source/cmGlobalVisualStudioGenerator.cxx')
-rw-r--r-- | Source/cmGlobalVisualStudioGenerator.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index 7da4f86..2a918c9 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -95,6 +95,16 @@ void cmGlobalVisualStudioGenerator::Generate() // of Visual Studio. this->ConfigureCMakeVisualStudioMacros(); + // Add CMakeLists.txt with custom command to rerun CMake. + for(std::vector<cmLocalGenerator*>::const_iterator + lgi = this->LocalGenerators.begin(); + lgi != this->LocalGenerators.end(); ++lgi) + { + cmLocalVisualStudioGenerator* lg = + static_cast<cmLocalVisualStudioGenerator*>(*lgi); + lg->AddCMakeListsRules(); + } + // Run all the local generators. this->cmGlobalGenerator::Generate(); } |