diff options
author | Nick Lewis <nick.lewis@amag.com> | 2016-02-01 10:01:39 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-02-04 14:16:56 (GMT) |
commit | 18ce97c4a20b7da4e11006ad80f17cb55e128db1 (patch) | |
tree | 411ffa3d6c2fa573a2b69be606810859b72d729f /Source/cmInstallScriptGenerator.cxx | |
parent | bfd1b3aabaa9a2ec46ca6ebfa50d56dfa8846fb3 (diff) | |
download | CMake-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.cxx | 7 |
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) |