diff options
author | Brad King <brad.king@kitware.com> | 2011-04-19 18:08:13 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2011-04-19 18:08:13 (GMT) |
commit | bf238d6f0ef39b474e68b84e3964deaf3653aa72 (patch) | |
tree | a9bea6ad30640970d1a0d6a8e065664c93121d1d /Source | |
parent | f393d8c2f8b341ee3911e04ff70ff42b42a7c83a (diff) | |
parent | d3fd945900f1fc09816cb59745c2fb241fa9b36c (diff) | |
download | CMake-bf238d6f0ef39b474e68b84e3964deaf3653aa72.zip CMake-bf238d6f0ef39b474e68b84e3964deaf3653aa72.tar.gz CMake-bf238d6f0ef39b474e68b84e3964deaf3653aa72.tar.bz2 |
Merge topic 'CPackRPM-fix12096'
d3fd945 CPackRPM Fix #12096: handle absolute install path with component install
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CPack/cmCPackGenerator.cxx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index c8a77d1..7e5b26d 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -867,6 +867,28 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects( cmCPackLogger(cmCPackLog::LOG_DEBUG, "Got some ABSOLUTE DESTINATION FILES: " << absoluteDestFiles << std::endl); + // define component specific var + if (componentInstall) + { + std::string absoluteDestFileComponent = + std::string("CPACK_ABSOLUTE_DESTINATION_FILES") + + "_" + GetComponentInstallDirNameSuffix(installComponent); + if (NULL != this->GetOption(absoluteDestFileComponent.c_str())) + { + std::string absoluteDestFilesListComponent = + this->GetOption(absoluteDestFileComponent.c_str()); + absoluteDestFilesListComponent +=";"; + absoluteDestFilesListComponent += + mf->GetDefinition("CPACK_ABSOLUTE_DESTINATION_FILES"); + this->SetOption(absoluteDestFileComponent.c_str(), + absoluteDestFilesListComponent.c_str()); + } + else + { + this->SetOption(absoluteDestFileComponent.c_str(), + mf->GetDefinition("CPACK_ABSOLUTE_DESTINATION_FILES")); + } + } } if ( cmSystemTools::GetErrorOccuredFlag() || !res ) { |