73 lines
2.9 KiB
CMake
73 lines
2.9 KiB
CMake
|
### tell cpack which components ###
|
|||
|
if ( DEFINED USE_COMPONENTS )
|
|||
|
message ("For installation only use specified components: ${USE_COMPONENTS}")
|
|||
|
set(CPACK_COMPONENTS_ALL ${USE_COMPONENTS})
|
|||
|
else()
|
|||
|
set(CPACK_COMPONENTS_ALL main header lib data ${CPACK_COMPONENTS_ALL})
|
|||
|
endif()
|
|||
|
|
|||
|
### set display names for single components ###
|
|||
|
if( DEFINED MAIN_DISPLAY_NAME )
|
|||
|
set(CPACK_COMPONENT_MAIN_DISPLAY_NAME ${MAIN_DISPLAY_NAME})
|
|||
|
else()
|
|||
|
set(CPACK_COMPONENT_MAIN_DISPLAY_NAME "Main Application")
|
|||
|
endif()
|
|||
|
|
|||
|
set(CPACK_COMPONENT_LIB_DISPLAY_NAME "Development Libraries")
|
|||
|
set(CPACK_COMPONENT_HEADER_DISPLAY_NAME "Development Headers")
|
|||
|
set(CPACK_COMPONENT_DATA_DISPLAY_NAME "Sample Data / Additional Data")
|
|||
|
|
|||
|
## define installation groups for components ###
|
|||
|
# set(CPACK_COMPONENT_MAIN_GROUP "MainGroup")
|
|||
|
# set(CPACK_COMPONENT_BINARIES_GROUP "MainGroup")
|
|||
|
# set(CPACK_COMPONENT_DATA_GROUP "DataGroup")
|
|||
|
# set(CPACK_COMPONENT_LIB_GROUP "DevelopmentGroup")
|
|||
|
# set(CPACK_COMPONENT_HEADER_GROUP "DevelopmentGroup")
|
|||
|
|
|||
|
## provide installation groups display names ###
|
|||
|
# set(CPACK_COMPONENT_GROUP_MAINGROUP_DISPLAY_NAME "Application Binaries")
|
|||
|
# set(CPACK_COMPONENT_GROUP_DATAGROUP_DISPLAY_NAME "Extra Data")
|
|||
|
# set(CPACK_COMPONENT_GROUP_DEVELOPMENTGROUP_DISPLAY_NAME "Development Files")
|
|||
|
|
|||
|
### set executable - symbol pairs ###
|
|||
|
set(CPACK_PACKAGE_EXECUTABLES
|
|||
|
"${PROJECTNAME}" "${CPACK_COMPONENT_MAIN_DISPLAY_NAME}")
|
|||
|
|
|||
|
#include(InstallRequiredSystemLibraries)
|
|||
|
set(CPACK_PROJECTNAME "${CPACK_COMPONENT_MAIN_DISPLAY_NAME}")
|
|||
|
set(CPACK_PACKAGE_NAME "${CPACK_COMPONENT_MAIN_DISPLAY_NAME}")
|
|||
|
set(CPACK_PACKAGE_VENDOR "Dominik Rue<75>")
|
|||
|
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
|
|||
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE")
|
|||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CPACK_COMPONENT_MAIN_DISPLAY_NAME} - Installation Program")
|
|||
|
if ( NOT DEFINED VERSION_MAJOR )
|
|||
|
SET(VERSION_MAJOR 0)
|
|||
|
endif()
|
|||
|
if ( NOT DEFINED VERSION_MINOR )
|
|||
|
SET(VERSION_MINOR 1)
|
|||
|
endif()
|
|||
|
if ( NOT DEFINED VERSION_PATCH )
|
|||
|
SET(VERSION_PATCH 1)
|
|||
|
endif()
|
|||
|
set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
|
|||
|
set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
|
|||
|
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
|
|||
|
set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
|
|||
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECTNAME}")
|
|||
|
|
|||
|
if (WIN32)
|
|||
|
IF(CMAKE_CL_64)
|
|||
|
SET(CMAKE_SYSTEM_PROCESSOR "X86")
|
|||
|
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
|
|||
|
#SET(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} (Win64)")
|
|||
|
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION} (Win64)")
|
|||
|
ELSE()
|
|||
|
SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
|
|||
|
#SET(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
|
|||
|
SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
|
|||
|
ENDIF()
|
|||
|
endif(WIN32)
|
|||
|
|
|||
|
# and finally
|
|||
|
include(CPack)
|