Files
CMake/Tests/CPackWiXGenerator/CMakeLists.txt
T
Brad King f53bd6f450 Tests: Bump CMake minimum required in tests to 3.5
CMake 3.27 deprecates compatibility with CMake < 3.5.  Update tests that
do not cover older interfaces to avoid the deprecation warning.

Follow the pattern from:

* commit 7b07ccdd2b (Tests/*Only: Update cmake_minimum_required versions,
                     2020-06-15, v3.19.0-rc1~629^2~1)

* commit 72e7c45e98 (Tests: Bump CMake minimum required in tests to 2.8.12,
                     2020-12-22, v3.20.0-rc1~224^2)

* commit f6b4db365a (Tests: bump cmake_minimum_required version to 2.8.12,
                     2021-04-04, v3.21.0-rc1~372^2)

Also remove explicit `cmake_policy` settings made redundant by the
version.
2023-03-01 16:36:54 -05:00

120 lines
3.0 KiB
CMake

cmake_minimum_required(VERSION 3.5)
project(CPackWiXGenerator)
add_library(mylib mylib.cpp)
add_executable(my-libapp mylibapp.cpp)
target_link_libraries(my-libapp mylib)
add_executable(my-other-app myotherapp.cpp)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/empty)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/empty
DESTINATION extras
COMPONENT extras)
install(TARGETS mylib
ARCHIVE
DESTINATION lib
COMPONENT libraries)
install(TARGETS my-libapp
RUNTIME
DESTINATION bin
COMPONENT applications)
install(TARGETS my-other-app
RUNTIME
DESTINATION bin
COMPONENT applications2)
install(FILES mylib.h "file with spaces.h"
DESTINATION include
COMPONENT headers)
set(CPACK_GENERATOR "WIX")
set(CPACK_PACKAGE_NAME "MyLib")
set(CPACK_PACKAGE_VENDOR "CMake.org")
set(CPACK_PACKAGE_CONTACT "somebody@cmake.org")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"MyLib - CPack Component Installation Example")
set(CPACK_PACKAGE_VERSION_MAJOR "1")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "CPack Component Example")
set(CPACK_WIX_UPGRADE_GUID "BF20CE5E-7F7C-401D-8F7C-AB45E8D170E6")
set(CPACK_WIX_UNINSTALL "1")
# Support non-interactive sessions (like CI).
set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-sval")
set(CPACK_PACKAGE_EXECUTABLES
"my-libapp" "CPack WiX Test"
"my-other-app" "Second CPack WiX Test"
)
set(CPACK_CREATE_DESKTOP_LINKS
"my-libapp"
"my-other-app"
)
set(CPACK_WIX_PATCH_FILE "${CMAKE_CURRENT_SOURCE_DIR}/patch.xml")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/license.txt")
set(CPACK_WIX_PROPERTY_ARPCOMMENTS "My Custom ARPCOMMENTS")
set(CPACK_WIX_PROPERTY_ARPHELPLINK "https://cmake.org")
include(CPack)
cpack_add_install_type(Full DISPLAY_NAME "Everything")
cpack_add_install_type(Developer)
cpack_add_component_group(Runtime)
cpack_add_component_group(Development
EXPANDED
DESCRIPTION "All of the tools you'll ever need to develop software")
cpack_add_component(extras
DISPLAY_NAME "Extras"
DESCRIPTION "Extras"
GROUP Runtime
INSTALL_TYPES Full)
cpack_add_component(applications
REQUIRED
DISPLAY_NAME "MyLib Application"
DESCRIPTION "An extremely useful application that makes use of MyLib"
GROUP Runtime
INSTALL_TYPES Full)
cpack_add_component(applications2
DISPLAY_NAME "MyLib Extra Application"
DESCRIPTION "Another extremely useful application that makes use of MyLib"
GROUP Runtime
INSTALL_TYPES Full)
cpack_add_component(documentation
DISPLAY_NAME "MyLib Documentation"
DESCRIPTION "The extensive suite of MyLib Application documentation files"
GROUP Runtime
INSTALL_TYPES Full)
cpack_add_component(libraries
DISPLAY_NAME "Libraries"
DESCRIPTION "Static libraries used to build programs with MyLib"
GROUP Development
INSTALL_TYPES Developer Full)
cpack_add_component(headers
DISPLAY_NAME "C++ Headers"
DESCRIPTION "C/C++ header files for use with MyLib"
GROUP Development
DEPENDS libraries
INSTALL_TYPES Developer Full)