os-linux.cmake 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. target_sources(
  2. obs-studio
  3. PRIVATE
  4. utility/CrashHandler_Linux.cpp
  5. utility/NativeEventFilter.cpp
  6. utility/platform-x11.cpp
  7. utility/system-info-posix.cpp
  8. )
  9. target_compile_definitions(
  10. obs-studio
  11. PRIVATE OBS_INSTALL_PREFIX="${OBS_INSTALL_PREFIX}" $<$<BOOL:${ENABLE_PORTABLE_CONFIG}>:ENABLE_PORTABLE_CONFIG>
  12. )
  13. target_link_libraries(obs-studio PRIVATE Qt::DBus)
  14. if(Qt6_VERSION AND Qt6_VERSION VERSION_LESS "6.9.0")
  15. target_link_libraries(obs-studio PRIVATE Qt::GuiPrivate)
  16. endif()
  17. find_package(Libpci REQUIRED)
  18. target_link_libraries(obs-studio PRIVATE Libpci::pci)
  19. if(TARGET OBS::python)
  20. find_package(Python REQUIRED COMPONENTS Interpreter Development)
  21. target_link_libraries(obs-studio PRIVATE Python::Python)
  22. target_link_options(obs-studio PRIVATE LINKER:-no-as-needed)
  23. endif()
  24. if(NOT DEFINED APPDATA_RELEASE_DATE)
  25. if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
  26. execute_process(
  27. COMMAND git log --tags -1 --pretty=%cd --date=short
  28. OUTPUT_VARIABLE APPDATA_RELEASE_DATE
  29. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  30. OUTPUT_STRIP_TRAILING_WHITESPACE
  31. )
  32. elseif(EXISTS "${CMAKE_SOURCE_DIR}/cmake/.CMakeBuildNumber")
  33. file(TIMESTAMP "${CMAKE_SOURCE_DIR}/cmake/.CMakeBuildNumber" APPDATA_RELEASE_DATE "%Y-%m-%d")
  34. else()
  35. file(TIMESTAMP "${CMAKE_SOURCE_DIR}/CMakeLists.txt" APPDATA_RELEASE_DATE "%Y-%m-%d")
  36. endif()
  37. endif()
  38. if(NOT DEFINED GIT_HASH)
  39. if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
  40. execute_process(
  41. COMMAND git rev-parse HEAD
  42. OUTPUT_VARIABLE GIT_HASH
  43. WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
  44. OUTPUT_STRIP_TRAILING_WHITESPACE
  45. )
  46. else()
  47. set(GIT_HASH "master")
  48. endif()
  49. endif()
  50. configure_file(cmake/linux/com.obsproject.Studio.metainfo.xml.in com.obsproject.Studio.metainfo.xml)
  51. install(
  52. FILES "${CMAKE_CURRENT_BINARY_DIR}/com.obsproject.Studio.metainfo.xml"
  53. DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
  54. )
  55. install(FILES cmake/linux/com.obsproject.Studio.desktop DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
  56. install(
  57. FILES cmake/linux/icons/obs-logo-128.png
  58. DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps"
  59. RENAME com.obsproject.Studio.png
  60. )
  61. install(
  62. FILES cmake/linux/icons/obs-logo-256.png
  63. DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps"
  64. RENAME com.obsproject.Studio.png
  65. )
  66. install(
  67. FILES cmake/linux/icons/obs-logo-512.png
  68. DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps"
  69. RENAME com.obsproject.Studio.png
  70. )
  71. install(
  72. FILES cmake/linux/icons/obs-logo-scalable.svg
  73. DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps"
  74. RENAME com.obsproject.Studio.svg
  75. )