CMakeCPack.cmake 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. # Author: Kang Lin <[email protected]>
  2. configure_file("${CMAKE_SOURCE_DIR}/cmake/CMakeCPackOptions.cmake.in"
  3. "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
  4. set(CPACK_PROJECT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CMakeCPackOptions.cmake")
  5. # Generate .txt license file for CPack (PackageMaker requires a file extension)
  6. configure_file(${CMAKE_SOURCE_DIR}/LICENSE ${CMAKE_BINARY_DIR}/LICENSE.txt @ONLY)
  7. SET(CPACK_BINARY_ZIP "ON")
  8. set(CPACK_SOURCE_IGNORE_FILES
  9. ${CMAKE_SOURCE_DIR}/build
  10. ${CMAKE_SOURCE_DIR}/.cache
  11. ${CMAKE_SOURCE_DIR}/.git
  12. ${CMAKE_SOURCE_DIR}/.github
  13. ${CMAKE_SOURCE_DIR}/.gitignore
  14. ${CMAKE_SOURCE_DIR}/.dockerignore
  15. ${CMAKE_SOURCE_DIR}/CMakeCache.txt)
  16. set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}")
  17. set(CPACK_TOPLEVEL_TAG "${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}")
  18. string(TOLOWER ${CMAKE_PROJECT_NAME} CMAKE_PROJECT_NAME_lower)
  19. set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME_lower}_${BUILD_VERSION}_${CPACK_SYSTEM_NAME}")
  20. set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME_lower}_${BUILD_VERSION}_${CPACK_SYSTEM_NAME}")
  21. #set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/package)
  22. set(CPACK_PACKAGE_NAME "coturn")
  23. set(CPACK_PACKAGE_VENDOR "coturn")
  24. set(CPACK_PACKAGE_VERSION ${BUILD_VERSION})
  25. SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "coturn: Free open source implementation of TURN and STUN Server")
  26. #set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
  27. #set(CPACK_RESOURCE_FILE_WELCOME )
  28. set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
  29. set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_BINARY_DIR}/LICENSE.txt")
  30. set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/coturn/coturn")
  31. set(CPACK_PACKAGE_CONTACT "misi <[email protected]>")
  32. set(CPACK_PACKAGE_INSTALL_DIRECTORY "coturn")
  33. set(CPACK_PACKAGE_CHECKSUM "MD5")
  34. ############### Debian ###################
  35. if(UNIX)
  36. set(CPACK_BINARY_DEB ON)
  37. endif()
  38. set(CPACK_DEBIAN_PACKAGE_SOURCE coturn)
  39. set(CPACK_DEBIAN_PACKAGE_MAINTAINER "misi <[email protected]>")
  40. #set(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
  41. set(CPACK_DEBIAN_PACKAGE_SECTION "main")
  42. set(CPACK_DEBIAN_PACKAGE_PREDEPENDS "debhelper (>= 6), cmake (>= 2.8.0), dh-systemd (>= 1.5)")
  43. #set(CMAKE_INSTALL_RPATH )
  44. set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
  45. set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON)
  46. #set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=")
  47. #set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
  48. # "${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
  49. ############### Debian ###################
  50. #set(CPACK_PACKAGE_EXECUTABLES turnadmin turnclient)
  51. #set(CPACK_CREATE_DESKTOP_LINKS turnadmin turnclient)
  52. ############### NSIS ###################
  53. if(WIN32)
  54. set(CPACK_BINARY_NSIS ON)
  55. endif()
  56. #set(CPACK_NSIS_INSTALL_ROOT "$LOCALAPPDATA")
  57. set(CPACK_NSIS_MODIFY_PATH ON)
  58. set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
  59. #set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/resources\\\\coturn_Install.bmp")
  60. #set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/resources\\\\coturn_Icon_96px.ico")
  61. #set(CPACK_NSIS_MUI_UNICON "${CMAKE_SOURCE_DIR}/resource\\\\coturn_Icon_96px.ico")
  62. ############### NSIS ###################
  63. #set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE )
  64. set(CPACK_COMPONENTS_ALL Runtime Development)
  65. SET(CMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENT Runtime)
  66. include(InstallRequiredSystemLibraries)
  67. include(CPackComponent)
  68. include(CPack)
  69. cpack_add_component(Development
  70. DISPLAY_NAME "Development"
  71. DESCRIPTION "Development"
  72. DEPENDS Runtime
  73. )
  74. cpack_add_component(Runtime
  75. DISPLAY_NAME "Runtime"
  76. DESCRIPTION "Runtime"
  77. )