os-freebsd.cmake 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. find_package(X11 REQUIRED)
  2. find_package(x11-xcb REQUIRED)
  3. find_package(
  4. xcb
  5. OPTIONAL_COMPONENTS xcb-xinput
  6. QUIET)
  7. find_package(gio)
  8. find_package(Sysinfo REQUIRED)
  9. target_link_libraries(libobs PRIVATE X11::x11-xcb xcb::xcb Sysinfo::Sysinfo)
  10. if(TARGET xcb::xcb-xinput)
  11. target_link_libraries(libobs PRIVATE xcb::xcb-xinput)
  12. endif()
  13. target_compile_definitions(libobs PRIVATE $<$<OR:$<C_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:GNU>>:ENABLE_DARRAY_TYPE_TEST>)
  14. target_sources(
  15. libobs
  16. PRIVATE obs-nix.c
  17. obs-nix-platform.c
  18. obs-nix-platform.h
  19. obs-nix-x11.c
  20. util/pipe-posix.c
  21. util/platform-nix.c
  22. util/threading-posix.c
  23. util/threading-posix.h)
  24. if(ENABLE_PULSEAUDIO)
  25. find_package(PulseAudio REQUIRED)
  26. target_sources(
  27. libobs
  28. PRIVATE audio-monitoring/pulse/pulseaudio-enum-devices.c audio-monitoring/pulse/pulseaudio-monitoring-available.c
  29. audio-monitoring/pulse/pulseaudio-output.c audio-monitoring/pulse/pulseaudio-wrapper.c
  30. audio-monitoring/pulse/pulseaudio-wrapper.h)
  31. target_link_libraries(libobs PRIVATE PulseAudio::PulseAudio)
  32. set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_ENABLED "PulseAudio audio monitoring (Linux)")
  33. else()
  34. target_sources(libobs PRIVATE audio-monitoring/null/null-audio-monitoring.c)
  35. set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_DISABLED "PulseAudio audio monitoring (Linux)")
  36. endif()
  37. if(TARGET gio::gio)
  38. target_link_libraries(libobs PRIVATE gio::gio)
  39. target_sources(libobs PRIVATE util/platform-nix-dbus.c util/platform-nix-portal.c)
  40. endif()
  41. if(ENABLE_WAYLAND)
  42. find_package(
  43. Wayland
  44. COMPONENTS Client
  45. REQUIRED)
  46. find_package(xkbcommon REQUIRED)
  47. target_link_libraries(libobs PRIVATE Wayland::Client xkbcommon::xkbcommon)
  48. target_sources(libobs PRIVATE obs-nix-wayland.c)
  49. set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_ENABLED "Wayland compositor support (Linux)")
  50. else()
  51. set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_DISABLED "Wayland compositor support (Linux)")
  52. endif()
  53. set_target_properties(libobs PROPERTIES OUTPUT_NAME obs)