From ae2cbc346d7bf19940fe3c17fe769d0c4340042b Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 11 Apr 2006 13:32:48 -0400 Subject: BUG: Install scripts should honor EXCLUDE_FROM_ALL options for subdirectories. This addresses bug#3100. --- Source/cmLocalGenerator.cxx | 20 ++++++++++++-------- 1 file 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::const_iterator i = this->Children.begin(); - for(; i != this->Children.end(); ++i) + fout << "# Include the install script for each subdirectory.\n"; + for(std::vector::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. -- cgit v0.12