summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-04-11 17:32:48 (GMT)
committerBrad King <brad.king@kitware.com>2006-04-11 17:32:48 (GMT)
commitae2cbc346d7bf19940fe3c17fe769d0c4340042b (patch)
treee0474aa3d870c688356d95a3b77b31fb8a0b4e6e /Source
parent535acdc7a093c44c2d052247d0bfdb90e9c279a0 (diff)
downloadCMake-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.cxx20
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.