summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallScriptGenerator.cxx
diff options
context:
space:
mode:
authorNick Lewis <nick.lewis@amag.com>2016-02-01 10:01:39 (GMT)
committerBrad King <brad.king@kitware.com>2016-02-04 14:16:56 (GMT)
commit18ce97c4a20b7da4e11006ad80f17cb55e128db1 (patch)
tree411ffa3d6c2fa573a2b69be606810859b72d729f /Source/cmInstallScriptGenerator.cxx
parentbfd1b3aabaa9a2ec46ca6ebfa50d56dfa8846fb3 (diff)
downloadCMake-18ce97c4a20b7da4e11006ad80f17cb55e128db1.zip
CMake-18ce97c4a20b7da4e11006ad80f17cb55e128db1.tar.gz
CMake-18ce97c4a20b7da4e11006ad80f17cb55e128db1.tar.bz2
install: Add EXCLUDE_FROM_ALL option (#14921)
Let us take an example of a project that has some tests in a component that need to be installed into a dedicated test package. The user expectation is that the result could be achieved by typing the following: make make tests make install DESTDIR=/testpkgs make install-tests However this results in test components in the default installation as well as the testpkg. Add an EXCLUDE_FROM_ALL option to the install() command to tell it that the installation rule should not be included unless its component is explicitly specified for installation.
Diffstat (limited to 'Source/cmInstallScriptGenerator.cxx')
-rw-r--r--Source/cmInstallScriptGenerator.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmInstallScriptGenerator.cxx b/Source/cmInstallScriptGenerator.cxx
index 933aa07..d58d039 100644
--- a/Source/cmInstallScriptGenerator.cxx
+++ b/Source/cmInstallScriptGenerator.cxx
@@ -14,8 +14,9 @@
//----------------------------------------------------------------------------
cmInstallScriptGenerator
::cmInstallScriptGenerator(const char* script, bool code,
- const char* component) :
- cmInstallGenerator(0, std::vector<std::string>(), component, MessageDefault),
+ const char* component, bool exclude_from_all) :
+ cmInstallGenerator(0, std::vector<std::string>(), component, MessageDefault,
+ exclude_from_all),
Script(script), Code(code)
{
}
@@ -31,7 +32,7 @@ void cmInstallScriptGenerator::GenerateScript(std::ostream& os)
{
Indent indent;
std::string component_test =
- this->CreateComponentTest(this->Component.c_str());
+ this->CreateComponentTest(this->Component.c_str(), this->ExcludeFromAll);
os << indent << "if(" << component_test << ")\n";
if(this->Code)