mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-24 15:18:26 -05:00
CPack: Add missing check for CPACK_INSTALL_SCRIPT variable
Also add a test case that uses CPACK_INSTALL_SCRIPT. Co-Author: Domen Vrankar <domen.vrankar@gmail.com> Fixes: #15005
This commit is contained in:
@@ -350,13 +350,14 @@ int main(int argc, char const* const* argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!mf->GetDefinition("CPACK_INSTALL_COMMANDS") &&
|
if (!mf->GetDefinition("CPACK_INSTALL_COMMANDS") &&
|
||||||
|
!mf->GetDefinition("CPACK_INSTALL_SCRIPT") &&
|
||||||
!mf->GetDefinition("CPACK_INSTALLED_DIRECTORIES") &&
|
!mf->GetDefinition("CPACK_INSTALLED_DIRECTORIES") &&
|
||||||
!mf->GetDefinition("CPACK_INSTALL_CMAKE_PROJECTS")) {
|
!mf->GetDefinition("CPACK_INSTALL_CMAKE_PROJECTS")) {
|
||||||
cmCPack_Log(
|
cmCPack_Log(
|
||||||
&log, cmCPackLog::LOG_ERROR,
|
&log, cmCPackLog::LOG_ERROR,
|
||||||
"Please specify build tree of the project that uses CMake "
|
"Please specify build tree of the project that uses CMake "
|
||||||
"using CPACK_INSTALL_CMAKE_PROJECTS, specify "
|
"using CPACK_INSTALL_CMAKE_PROJECTS, specify "
|
||||||
"CPACK_INSTALL_COMMANDS, or specify "
|
"CPACK_INSTALL_COMMANDS, CPACK_INSTALL_SCRIPT, or "
|
||||||
"CPACK_INSTALLED_DIRECTORIES."
|
"CPACK_INSTALLED_DIRECTORIES."
|
||||||
<< std::endl);
|
<< std::endl);
|
||||||
parsed = 0;
|
parsed = 0;
|
||||||
|
|||||||
@@ -27,3 +27,4 @@ run_cpack_test(SUGGESTS "RPM" false "MONOLITHIC")
|
|||||||
run_cpack_test(SYMLINKS "RPM;TGZ" false "MONOLITHIC;COMPONENT")
|
run_cpack_test(SYMLINKS "RPM;TGZ" false "MONOLITHIC;COMPONENT")
|
||||||
run_cpack_test(USER_FILELIST "RPM" false "MONOLITHIC")
|
run_cpack_test(USER_FILELIST "RPM" false "MONOLITHIC")
|
||||||
run_cpack_test(MD5SUMS "DEB" false "MONOLITHIC;COMPONENT")
|
run_cpack_test(MD5SUMS "DEB" false "MONOLITHIC;COMPONENT")
|
||||||
|
run_cpack_test(CPACK_INSTALL_SCRIPT "ZIP" false "MONOLITHIC")
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
set(EXPECTED_FILES_COUNT "1")
|
||||||
|
|
||||||
|
set(EXPECTED_FILE_CONTENT_1_LIST "/usr;/usr/foo;/usr/foo/abc.txt")
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/abc.txt" "test content")
|
||||||
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/user-script.cmake"
|
||||||
|
"file(INSTALL DESTINATION \"\${CMAKE_INSTALL_PREFIX}/foo\"
|
||||||
|
TYPE FILE FILES \"${CMAKE_CURRENT_BINARY_DIR}/abc.txt\")")
|
||||||
|
set(CPACK_INSTALL_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/user-script.cmake")
|
||||||
|
|
||||||
|
function(run_after_include_cpack)
|
||||||
|
file(READ "${CPACK_OUTPUT_CONFIG_FILE}" conf_file_)
|
||||||
|
string(REGEX REPLACE "SET\\(CPACK_INSTALL_CMAKE_PROJECTS [^)]*\\)" "" conf_file_ "${conf_file_}")
|
||||||
|
file(WRITE "${CPACK_OUTPUT_CONFIG_FILE}" "${conf_file_}")
|
||||||
|
endfunction()
|
||||||
Reference in New Issue
Block a user