ObsCpack.cmake 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. if(APPLE AND NOT CPACK_GENERATOR)
  2. set(CPACK_GENERATOR "Bundle")
  3. elseif(WIN32 AND NOT CPACK_GENERATOR)
  4. set(CPACK_GENERATOR "WIX" "ZIP")
  5. endif()
  6. set(CPACK_PACKAGE_NAME "OBS")
  7. set(CPACK_PACKAGE_VENDOR "obsproject.com")
  8. set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OBS - Live video and audio streaming and recording software")
  9. set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/UI/data/license/gplv2.txt")
  10. set(CPACK_PACKAGE_VERSION_MAJOR "0")
  11. set(CPACK_PACKAGE_VERSION_MINOR "0")
  12. set(CPACK_PACKAGE_VERSION_PATCH "1")
  13. set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
  14. if(NOT DEFINED OBS_VERSION_OVERRIDE)
  15. if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
  16. execute_process(COMMAND git describe --always --tags --dirty=-modified
  17. OUTPUT_VARIABLE OBS_VERSION
  18. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  19. OUTPUT_STRIP_TRAILING_WHITESPACE)
  20. else()
  21. set(OBS_VERSION "${CPACK_PACKAGE_VERSION}")
  22. endif()
  23. else()
  24. set(OBS_VERSION "${OBS_VERSION_OVERRIDE}")
  25. endif()
  26. if("${OBS_VERSION}" STREQUAL "")
  27. message(FATAL_ERROR "Failed to configure OBS_VERSION. Either set OBS_VERSION_OVERRIDE or ensure `git describe` succeeds.")
  28. endif()
  29. MESSAGE(STATUS "OBS_VERSION: ${OBS_VERSION}")
  30. if(INSTALLER_RUN)
  31. set(CPACK_PACKAGE_EXECUTABLES
  32. "obs32" "OBS Studio (32bit)"
  33. "obs64" "OBS Studio (64bit)")
  34. set(CPACK_CREATE_DESKTOP_LINKS
  35. "obs32"
  36. "obs64")
  37. else()
  38. if(WIN32)
  39. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  40. set(_output_suffix "64")
  41. else()
  42. set(_output_suffix "32")
  43. endif()
  44. else()
  45. set(_output_suffix "")
  46. endif()
  47. set(CPACK_PACKAGE_EXECUTABLES "obs${_output_suffix}" "OBS Studio")
  48. set(CPACK_CREATE_DESKTOP_LINKS "obs${_output_suffix}")
  49. endif()
  50. set(CPACK_BUNDLE_NAME "OBS")
  51. set(CPACK_BUNDLE_PLIST "${CMAKE_SOURCE_DIR}/cmake/osxbundle/Info.plist")
  52. set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/osxbundle/obs.icns")
  53. set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_SOURCE_DIR}/cmake/osxbundle/obslaunch.sh")
  54. set(CPACK_WIX_TEMPLATE "${CMAKE_SOURCE_DIR}/cmake/Modules/WIX.template.in")
  55. if(INSTALLER_RUN)
  56. set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "OBSStudio")
  57. set(CPACK_WIX_UPGRADE_GUID "1f59ff79-2a3c-43c1-b2b2-033a5e6342eb")
  58. set(CPACK_WIX_PRODUCT_GUID "0c7bec2a-4f07-41b2-9dff-d64b09c9c384")
  59. set(CPACK_PACKAGE_FILE_NAME "obs-studio-${OBS_VERSION}")
  60. elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
  61. if(WIN32)
  62. set(CPACK_PACKAGE_NAME "OBS Studio (64bit)")
  63. endif()
  64. set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "OBSStudio64")
  65. set(CPACK_WIX_UPGRADE_GUID "44c72510-2e8e-489c-8bc0-2011a9631b0b")
  66. set(CPACK_WIX_PRODUCT_GUID "ca5bf4fe-7b38-4003-9455-de249d03caac")
  67. set(CPACK_PACKAGE_FILE_NAME "obs-studio-x64-${OBS_VERSION}")
  68. else()
  69. if(WIN32)
  70. set(CPACK_PACKAGE_NAME "OBS Studio (32bit)")
  71. endif()
  72. set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "OBSStudio32")
  73. set(CPACK_WIX_UPGRADE_GUID "a26acea4-6190-4470-9fb9-f6d32f3ba030")
  74. set(CPACK_WIX_PRODUCT_GUID "8e24982d-b0ab-4f66-9c90-f726f3b64682")
  75. set(CPACK_PACKAGE_FILE_NAME "obs-studio-x86-${OBS_VERSION}")
  76. endif()
  77. set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
  78. if(UNIX_STRUCTURE)
  79. set(CPACK_SET_DESTDIR TRUE)
  80. endif()
  81. include(CPack)