1
0

CMakeLists.txt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. cmake_minimum_required(VERSION 3.28...3.30)
  2. if(NOT ENABLE_AJA)
  3. target_disable(aja-output-ui)
  4. return()
  5. endif()
  6. find_package(LibAJANTV2 REQUIRED)
  7. find_package(Qt6 REQUIRED Widgets)
  8. if(OS_LINUX OR OS_FREEBSD OR OS_OPENBSD)
  9. find_package(Qt6 REQUIRED Gui)
  10. find_package(X11 REQUIRED)
  11. endif()
  12. if(NOT TARGET OBS::aja-support)
  13. add_subdirectory("${CMAKE_SOURCE_DIR}/plugins/aja" "${CMAKE_BINARY_DIR}/plugins/aja")
  14. endif()
  15. if(NOT TARGET OBS::properties-view)
  16. add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
  17. endif()
  18. add_library(aja-output-ui MODULE)
  19. add_library(OBS::aja-output-ui ALIAS aja-output-ui)
  20. target_sources(aja-output-ui PRIVATE aja-ui-main.cpp aja-ui-main.h AJAOutputUI.cpp AJAOutputUI.h)
  21. target_sources(aja-output-ui PRIVATE forms/output.ui)
  22. target_compile_options(
  23. aja-output-ui
  24. PRIVATE
  25. $<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-deprecated-declarations>
  26. $<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang>:-Wno-quoted-include-in-framework-header>
  27. )
  28. target_link_libraries(
  29. aja-output-ui
  30. PRIVATE
  31. OBS::libobs
  32. OBS::aja-support
  33. OBS::frontend-api
  34. OBS::properties-view
  35. Qt::Widgets
  36. AJA::LibAJANTV2
  37. $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>
  38. $<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:Qt::GuiPrivate>
  39. )
  40. target_link_options(aja-output-ui PRIVATE $<$<PLATFORM_ID:Windows>:/IGNORE:4099>)
  41. if(OS_WINDOWS)
  42. configure_file(cmake/windows/obs-module.rc.in aja-output-ui.rc)
  43. target_sources(aja-output-ui PRIVATE aja-output-ui.rc)
  44. set_property(TARGET aja-output-ui APPEND PROPERTY AUTORCC_OPTIONS --format-version 1)
  45. endif()
  46. set_target_properties_obs(
  47. aja-output-ui
  48. PROPERTIES FOLDER frontend
  49. PREFIX ""
  50. AUTOMOC ON
  51. AUTOUIC ON
  52. AUTORCC ON
  53. AUTOUIC_SEARCH_PATHS forms
  54. )