os-linux.cmake 2.5 KB

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