1#################################################################################### 2# # 3# Copyright (c) 2014 - 2018 Axel Menzel <info@rttr.org> # 4# # 5# This file is part of RTTR (Run Time Type Reflection) # 6# License: MIT License # 7# # 8# Permission is hereby granted, free of charge, to any person obtaining # 9# a copy of this software and associated documentation files (the "Software"), # 10# to deal in the Software without restriction, including without limitation # 11# the rights to use, copy, modify, merge, publish, distribute, sublicense, # 12# and/or sell copies of the Software, and to permit persons to whom the # 13# Software is furnished to do so, subject to the following conditions: # 14# # 15# The above copyright notice and this permission notice shall be included in # 16# all copies or substantial portions of the Software. # 17# # 18# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 19# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 20# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # 21# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 22# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # 23# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # 24# SOFTWARE. # 25# # 26#################################################################################### 27 28# first step set up all necessary variables 29if(WIN32 AND NOT UNIX) 30 if (NOT CMAKE_VERSION VERSION_LESS 3.1.0) 31 set(CPACK_GENERATOR 7Z) 32 else() 33 set(CPACK_GENERATOR ZIP) 34 endif() 35elseif(UNIX AND NOT APPLE) 36 set(CPACK_GENERATOR TGZ;TBZ2) 37elseif(APPLE) 38 set(CPACK_GENERATOR TGZ;TBZ2;PackageMaker) 39endif() 40 41set(CPACK_PACKAGE_NAME "${RTTR_PRODUCT_NAME}") 42set(CPACK_PACKAGE_VENDOR "AMS") 43set(CPACK_PACKAGE_VERSION_MAJOR "${RTTR_VERSION_MAJOR}") 44set(CPACK_PACKAGE_VERSION_MINOR "${RTTR_VERSION_MINOR}") 45set(CPACK_PACKAGE_VERSION_PATCH "${RTTR_VERSION_PATCH}") 46set(CPACK_PACKAGE_VERSION "${RTTR_VERSION}") 47set(CPACK_RESOURCE_FILE_README "${README_FILE}") 48set(CPACK_PACKAGE_DESCRIPTION_FILE "${README_FILE}") 49set(CPACK_RESOURCE_FILE_LICENSE "${LICENSE_FILE}") 50set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_VENDOR}/RTTR") 51 52set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "RTTR is a C++ runtime reflection library") 53 54# detect system 55if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 56 set(RTTR_OS_NAME "linux${RTTR_NATIVE_ARCH}") 57elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 58 set(RTTR_OS_NAME "win${RTTR_NATIVE_ARCH}") 59else() 60 message(WARNING "This system is not supported for packing") 61 return() 62endif() 63 64getCompilerName(RTTR_COMPILER_NAME) 65 66# we use the same naming scheme like Qt 67set(CPACK_PACKAGE_FILE_NAME "rttr-${RTTR_VERSION_STR}-${RTTR_OS_NAME}-${RTTR_COMPILER_NAME}") 68set(CPACK_SOURCE_PACKAGE_FILE_NAME "rttr-${RTTR_VERSION_STR}-src") 69 70# now as last step we can include CPack 71include(CPack)