diff options
author | Brad King <brad.king@kitware.com> | 2024-05-06 13:22:25 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2024-05-06 13:22:45 (GMT) |
commit | de8df1da1759ce7ada633773ad4cefb1902d6886 (patch) | |
tree | 7ca121be7203998ae658fdf0d261ab7a79ea02f0 /Tests | |
parent | d61ad7ecaa816430a3d592dd7a4c068eb00d11ed (diff) | |
parent | d7e2fede0351f4438548ea135ebf3058cb46ebda (diff) | |
download | CMake-de8df1da1759ce7ada633773ad4cefb1902d6886.zip CMake-de8df1da1759ce7ada633773ad4cefb1902d6886.tar.gz CMake-de8df1da1759ce7ada633773ad4cefb1902d6886.tar.bz2 |
Merge topic 'cpack-support-all-component-names'
d7e2fede03 CPack: Add tests for component containing problematic characters
a1af593291 CPack: Support arbitrary component name when packaging
9e67ad47a9 cmLocalGenerator: Support arbitrary component name when installing
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9436
Diffstat (limited to 'Tests')
5 files changed, 81 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 005bd17..192675e 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -1047,6 +1047,7 @@ set(cpack_tests DEB.DEB_PACKAGE_VERSION_BACK_COMPATIBILITY DEB.DEB_DESCRIPTION DEB.PROJECT_META + DEB.COMPONENT_WITH_SPECIAL_CHARS RPM.AUTO_SUFFIXES RPM.CUSTOM_BINARY_SPEC_FILE @@ -1069,6 +1070,7 @@ set(cpack_tests RPM.SYMLINKS RPM.USER_FILELIST RPM.PROJECT_META + RPM.COMPONENT_WITH_SPECIAL_CHARS 7Z TBZ2 diff --git a/Tests/RunCMake/CPack/DEB/packaging_GROUP_default.cmake b/Tests/RunCMake/CPack/DEB/packaging_GROUP_default.cmake new file mode 100644 index 0000000..8821ab9 --- /dev/null +++ b/Tests/RunCMake/CPack/DEB/packaging_GROUP_default.cmake @@ -0,0 +1 @@ +set(CPACK_PACKAGE_CONTACT "someone") diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake b/Tests/RunCMake/CPack/RunCMakeTest.cmake index 258f6a6..5d32404 100644 --- a/Tests/RunCMake/CPack/RunCMakeTest.cmake +++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake @@ -71,3 +71,5 @@ run_cpack_test_subtests( run_cpack_test(PROJECT_META "RPM.PROJECT_META;DEB.PROJECT_META" false "MONOLITHIC;COMPONENT") run_cpack_test_package_target(PRE_POST_SCRIPTS "ZIP" false "MONOLITHIC;COMPONENT") run_cpack_test_subtests(DUPLICATE_FILE "success;conflict_file;conflict_symlink" "TGZ" false "COMPONENT;GROUP") +run_cpack_test(COMPONENT_WITH_SPECIAL_CHARS "RPM.COMPONENT_WITH_SPECIAL_CHARS;DEB.COMPONENT_WITH_SPECIAL_CHARS;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ" false "MONOLITHIC;COMPONENT;GROUP") +run_cpack_test_package_target(COMPONENT_WITH_SPECIAL_CHARS "RPM.COMPONENT_WITH_SPECIAL_CHARS;DEB.COMPONENT_WITH_SPECIAL_CHARS;7Z;TBZ2;TGZ;TXZ;TZ;ZIP;STGZ" false "MONOLITHIC;COMPONENT;GROUP") diff --git a/Tests/RunCMake/CPack/tests/COMPONENT_WITH_SPECIAL_CHARS/ExpectedFiles.cmake b/Tests/RunCMake/CPack/tests/COMPONENT_WITH_SPECIAL_CHARS/ExpectedFiles.cmake new file mode 100644 index 0000000..0eb250d --- /dev/null +++ b/Tests/RunCMake/CPack/tests/COMPONENT_WITH_SPECIAL_CHARS/ExpectedFiles.cmake @@ -0,0 +1,42 @@ +if(PACKAGING_TYPE STREQUAL "MONOLITHIC") + set(EXPECTED_FILES_COUNT "1") + set(EXPECTED_FILE_CONTENT_1_LIST + "/foo1" + "/foo1/CMakeLists.txt" + "/foo2" + "/foo2/CMakeLists.txt" + "/foo3" + "/foo3/CMakeLists.txt" + ) +elseif(PACKAGING_TYPE STREQUAL "COMPONENT") + set(EXPECTED_FILES_COUNT "3") + set(EXPECTED_FILE_1 "*-comp1.test1.*") + set(EXPECTED_FILE_CONTENT_1_LIST + "/foo1" + "/foo1/CMakeLists.txt" + ) + set(EXPECTED_FILE_2 "*-component2.*") + set(EXPECTED_FILE_CONTENT_2_LIST + "/foo2" + "/foo2/CMakeLists.txt" + ) + set(EXPECTED_FILE_3 "*-component3.*") + set(EXPECTED_FILE_CONTENT_3_LIST + "/foo3" + "/foo3/CMakeLists.txt" + ) +elseif(PACKAGING_TYPE STREQUAL "GROUP") + set(EXPECTED_FILES_COUNT "2") + set(EXPECTED_FILE_1 "*-group1.*") + set(EXPECTED_FILE_CONTENT_1_LIST + "/foo1" + "/foo1/CMakeLists.txt" + "/foo2" + "/foo2/CMakeLists.txt" + ) + set(EXPECTED_FILE_2 "*-group2.*") + set(EXPECTED_FILE_CONTENT_2_LIST + "/foo3" + "/foo3/CMakeLists.txt" + ) +endif() diff --git a/Tests/RunCMake/CPack/tests/COMPONENT_WITH_SPECIAL_CHARS/test.cmake b/Tests/RunCMake/CPack/tests/COMPONENT_WITH_SPECIAL_CHARS/test.cmake new file mode 100644 index 0000000..b905cc3 --- /dev/null +++ b/Tests/RunCMake/CPack/tests/COMPONENT_WITH_SPECIAL_CHARS/test.cmake @@ -0,0 +1,34 @@ +install(FILES CMakeLists.txt DESTINATION foo1 COMPONENT comp1.test1) +install(FILES CMakeLists.txt DESTINATION foo2 COMPONENT comp2::test2) +install(FILES CMakeLists.txt DESTINATION foo3 COMPONENT comp3/test3) + +if(PACKAGING_TYPE STREQUAL "COMPONENT") + foreach(gen IN ITEMS ARCHIVE DEBIAN RPM) + set(CPACK_${gen}_COMP2::TEST2_FILE_NAME "component_with_special_chars-0.1.1-${CMAKE_SYSTEM_NAME}-component2") + set(CPACK_${gen}_COMP3/TEST3_FILE_NAME "component_with_special_chars-0.1.1-${CMAKE_SYSTEM_NAME}-component3") + endforeach() +elseif(PACKAGING_TYPE STREQUAL "GROUP") + set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP) + foreach(gen IN ITEMS ARCHIVE DEB RPM) + set(CPACK_${gen}_COMPONENT_INSTALL ON) + endforeach() + include(CPackComponent) + + cpack_add_component_group(group1 DISPLAY_NAME "Group 1") + cpack_add_component_group(group2 DISPLAY_NAME "Group 2") + cpack_add_component(comp1.test1 + DISPLAY_NAME "Group 1" + DESCRIPTION "Component for Group 1" + GROUP group1 + ) + cpack_add_component(comp2::test2 + DISPLAY_NAME "Group 1" + DESCRIPTION "Component for Group 1" + GROUP group1 + ) + cpack_add_component(comp3/test3 + DISPLAY_NAME "Group 2" + DESCRIPTION "Component for Group 2" + GROUP group2 + ) +endif() |