mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-23 22:58:37 -05:00
72e7c45e98
Since 3.19, CMake generates a deprecation warning when using a minimum version less than 2.8.12. This eliminates those warnings generated during tests, which are typically hidden from the user and developer but are being generated nonetheless.
120 lines
3.0 KiB
CMake
120 lines
3.0 KiB
CMake
cmake_minimum_required(VERSION 2.8.12)
|
|
|
|
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)
|