summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-03-19 23:41:34 (GMT)
committerBrad King <brad.king@kitware.com>2024-03-24 19:26:39 (GMT)
commit03884f4f3230f150af26ae1c503d4a43e612323c (patch)
tree611ee842f6098c2fdffb4c90baff5b454360d23c /Tests/RunCMake
parentcfe5bbdc54d59833047689ad416466d7fd9073f1 (diff)
downloadCMake-03884f4f3230f150af26ae1c503d4a43e612323c.zip
CMake-03884f4f3230f150af26ae1c503d4a43e612323c.tar.gz
CMake-03884f4f3230f150af26ae1c503d4a43e612323c.tar.bz2
CPack/WIX: Add support for WiX Toolset v4
Add a `CPACK_WIX_VERSION` option to specify version WiX for which the project is configured. Fixes: #23910
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r--Tests/RunCMake/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-check.cmake1
-rw-r--r--Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-stdout.txt11
-rw-r--r--Tests/RunCMake/CPack_WIX/4-AppWiX-verify-stdout.txt34
-rw-r--r--Tests/RunCMake/CPack_WIX/RunCMakeTest.cmake8
5 files changed, 56 insertions, 1 deletions
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index ec05b90..575a321 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -1100,9 +1100,10 @@ endif()
add_RunCMake_test_group(CPack "${cpack_tests}")
-if(CMake_TEST_CPACK_WIX3)
+if(CMake_TEST_CPACK_WIX3 OR CMake_TEST_CPACK_WIX4)
add_RunCMake_test(CPack_WIX
-DCMake_TEST_CPACK_WIX3=${CMake_TEST_CPACK_WIX3}
+ -DCMake_TEST_CPACK_WIX4=${CMake_TEST_CPACK_WIX4}
)
endif()
diff --git a/Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-check.cmake b/Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-check.cmake
new file mode 100644
index 0000000..a7a28ae
--- /dev/null
+++ b/Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-check.cmake
@@ -0,0 +1 @@
+include(${RunCMake_SOURCE_DIR}/cpack-check-common.cmake)
diff --git a/Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-stdout.txt b/Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-stdout.txt
new file mode 100644
index 0000000..51f06ca
--- /dev/null
+++ b/Tests/RunCMake/CPack_WIX/4-AppWiX-cpack-WIX-stdout.txt
@@ -0,0 +1,11 @@
+CPack: Create package using WIX
+CPack: Install projects
+CPack: - Install project: CPackWiXGenerator \[Release\]
+CPack: - Install component: applications
+CPack: - Install component: applications2
+CPack: - Install component: extras
+CPack: - Install component: headers
+CPack: - Install component: libraries
+CPack: Create package
+CPack: - package: [^
+]*/Tests/RunCMake/CPack_WIX/4-AppWiX-build/MyLib-1\.0\.0-(win64|windows-arm64)\.msi generated\.
diff --git a/Tests/RunCMake/CPack_WIX/4-AppWiX-verify-stdout.txt b/Tests/RunCMake/CPack_WIX/4-AppWiX-verify-stdout.txt
new file mode 100644
index 0000000..a379859
--- /dev/null
+++ b/Tests/RunCMake/CPack_WIX/4-AppWiX-verify-stdout.txt
@@ -0,0 +1,34 @@
+-- MyLib-1\.0\.0-(win64|windows-arm64)\.msi
+Component: 'CM_CP_applications.bin.my_libapp.exe' 'CM_DP_applications.bin'
+Component: 'CM_SHORTCUT_applications' 'PROGRAM_MENU_FOLDER'
+Component: 'CM_SHORTCUT_DESKTOP_applications' 'DesktopFolder'
+Component: 'CM_CP_applications2.bin.my_other_app.exe' 'CM_DP_applications2.bin'
+Component: 'CM_SHORTCUT_applications2' 'PROGRAM_MENU_FOLDER'
+Component: 'CM_SHORTCUT_DESKTOP_applications2' 'DesktopFolder'
+Component: 'CM_C_EMPTY_CM_DP_extras.extras.empty' 'CM_DP_extras.extras.empty'
+Component: 'CM_CP_headers.include.file_with_spaces.h' 'CM_DP_headers.include'
+Component: 'CM_CP_headers.include.mylib.h' 'CM_DP_headers.include'
+Component: 'CM_CP_libraries.lib.mylib.lib' 'CM_DP_libraries.lib'
+Directory: 'INSTALL_ROOT' 'ProgramFiles6432Folder' '[^']*\|CPack Component Example'
+Directory: 'CM_DP_applications.bin' 'INSTALL_ROOT' 'bin'
+Directory: 'CM_DP_applications2.bin' 'INSTALL_ROOT' 'bin'
+Directory: 'CM_DP_extras.extras.empty' 'CM_DP_extras.extras' 'empty'
+Directory: 'CM_DP_extras.extras' 'INSTALL_ROOT' 'extras'
+Directory: 'CM_DP_headers.include' 'INSTALL_ROOT' 'include'
+Directory: 'CM_DP_libraries.lib' 'INSTALL_ROOT' 'lib'
+Directory: 'ProgramFiles6432Folder' 'ProgramFiles64Folder' '.'
+Directory: 'PROGRAM_MENU_FOLDER' 'ProgramMenuFolder' 'MyLib'
+Directory: 'ProgramMenuFolder' 'TARGETDIR' 'PMenu'
+Directory: 'ProgramFiles64Folder' 'TARGETDIR' 'PFiles64'
+Directory: 'TARGETDIR' '' 'SourceDir'
+Directory: 'DesktopFolder' 'TARGETDIR' 'Desktop'
+File: 'CM_FP_applications.bin.my_libapp.exe' 'CM_CP_applications.bin.my_libapp.exe' '[^']*\|my-libapp.exe'
+File: 'CM_FP_applications2.bin.my_other_app.exe' 'CM_CP_applications2.bin.my_other_app.exe' '[^']*\|my-other-app.exe'
+File: 'CM_FP_headers.include.file_with_spaces.h' 'CM_CP_headers.include.file_with_spaces.h' '[^']*\|file with spaces.h'
+File: 'CM_FP_headers.include.mylib.h' 'CM_CP_headers.include.mylib.h' 'mylib.h'
+File: 'CM_FP_libraries.lib.mylib.lib' 'CM_CP_libraries.lib.mylib.lib' 'mylib.lib'
+Shortcut: 'CM_SP_applications.bin.my_libapp.exe' 'PROGRAM_MENU_FOLDER' '[^']*\|CPack WiX Test' 'CM_SHORTCUT_applications'
+Shortcut: 'CM_DSP_applications.bin.my_libapp.exe' 'DesktopFolder' '[^']*\|CPack WiX Test' 'CM_SHORTCUT_DESKTOP_applications'
+Shortcut: 'CM_SP_applications2.bin.my_other_app.exe' 'PROGRAM_MENU_FOLDER' '[^']*\|Second CPack WiX Test' 'CM_SHORTCUT_applications2'
+Shortcut: 'CM_DSP_applications2.bin.my_other_app.exe' 'DesktopFolder' '[^']*\|Second CPack WiX Test' 'CM_SHORTCUT_DESKTOP_applications2'
+--
diff --git a/Tests/RunCMake/CPack_WIX/RunCMakeTest.cmake b/Tests/RunCMake/CPack_WIX/RunCMakeTest.cmake
index cf14d7d..816d949 100644
--- a/Tests/RunCMake/CPack_WIX/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack_WIX/RunCMakeTest.cmake
@@ -7,6 +7,7 @@ set(RunCPack_GLOB *.msi)
set(RunCPack_VERIFY powershell -ExecutionPolicy Bypass -File ${CMAKE_CURRENT_LIST_DIR}/print-msi.ps1)
function(run_cpack_wix v)
+ set(RunCMake_TEST_OPTIONS -DCPACK_WIX_VERSION=${v})
run_cpack(${v}-AppWiX SAMPLE AppWiX BUILD)
endfunction()
@@ -14,3 +15,10 @@ if(CMake_TEST_CPACK_WIX3)
set(ENV{PATH} "${CMake_TEST_CPACK_WIX3};${env_PATH}")
run_cpack_wix(3)
endif()
+
+if(CMake_TEST_CPACK_WIX4)
+ set(ENV{PATH} "${CMake_TEST_CPACK_WIX4};${env_PATH}")
+ set(ENV{WIX_EXTENSIONS} "${CMake_TEST_CPACK_WIX4}")
+ run_cpack_wix(4)
+ unset(ENV{WIX_EXTENSIONS})
+endif()