diff options
author | Brad King <brad.king@kitware.com> | 2006-04-11 17:32:48 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-04-11 17:32:48 (GMT) |
commit | ae2cbc346d7bf19940fe3c17fe769d0c4340042b (patch) | |
tree | e0474aa3d870c688356d95a3b77b31fb8a0b4e6e /Source | |
parent | 535acdc7a093c44c2d052247d0bfdb90e9c279a0 (diff) | |
download | CMake-ae2cbc346d7bf19940fe3c17fe769d0c4340042b.zip CMake-ae2cbc346d7bf19940fe3c17fe769d0c4340042b.tar.gz CMake-ae2cbc346d7bf19940fe3c17fe769d0c4340042b.tar.bz2 |
BUG: Install scripts should honor EXCLUDE_FROM_ALL options for subdirectories. This addresses bug#3100.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmLocalGenerator.cxx | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index a8b038e..5b86ff9 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -355,17 +355,21 @@ void cmLocalGenerator::GenerateInstallRules() this->GenerateTargetInstallRules(fout, config, configurationTypes); // Include install scripts from subdirectories. - if ( this->Children.size()) + if(!this->Children.empty()) { - std::vector<cmLocalGenerator*>::const_iterator i = this->Children.begin(); - for(; i != this->Children.end(); ++i) + fout << "# Include the install script for each subdirectory.\n"; + for(std::vector<cmLocalGenerator*>::const_iterator + ci = this->Children.begin(); ci != this->Children.end(); ++ci) { - std::string odir = (*i)->GetMakefile()->GetStartOutputDirectory(); - cmSystemTools::ConvertToUnixSlashes(odir); - fout << "INCLUDE(\"" << odir.c_str() - << "/cmake_install.cmake\")" << std::endl; + if(!(*ci)->GetExcludeAll()) + { + std::string odir = (*ci)->GetMakefile()->GetStartOutputDirectory(); + cmSystemTools::ConvertToUnixSlashes(odir); + fout << "INCLUDE(\"" << odir.c_str() + << "/cmake_install.cmake\")" << std::endl; + } } - fout << std::endl;; + fout << "\n"; } // Record the install manifest. |