CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. project(frontend-tools)
  2. if(APPLE)
  3. find_library(COCOA Cocoa)
  4. include_directories(${COCOA})
  5. endif()
  6. if(UNIX AND NOT APPLE)
  7. find_package(X11 REQUIRED)
  8. link_libraries(${X11_LIBRARIES})
  9. include_directories(${X11_INCLUDE_DIR})
  10. endif()
  11. include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/deps/obs-scripting")
  12. configure_file(
  13. "${CMAKE_CURRENT_SOURCE_DIR}/frontend-tools-config.h.in"
  14. "${CMAKE_BINARY_DIR}/config/frontend-tools-config.h")
  15. set(frontend-tools_HEADERS
  16. ${frontend-tools_HEADERS}
  17. "${CMAKE_BINARY_DIR}/config/frontend-tools-config.h"
  18. auto-scene-switcher.hpp
  19. output-timer.hpp
  20. tool-helpers.hpp
  21. ../../properties-view.hpp
  22. ../../properties-view.moc.hpp
  23. ../../vertical-scroll-area.hpp
  24. ../../double-slider.hpp
  25. )
  26. set(frontend-tools_SOURCES
  27. ${frontend-tools_SOURCES}
  28. auto-scene-switcher.cpp
  29. frontend-tools.c
  30. output-timer.cpp
  31. ../../properties-view.cpp
  32. ../../vertical-scroll-area.cpp
  33. ../../double-slider.cpp
  34. )
  35. set(frontend-tools_UI
  36. ${frontend-tools_UI}
  37. forms/auto-scene-switcher.ui
  38. forms/output-timer.ui
  39. )
  40. if(SCRIPTING_ENABLED)
  41. set(frontend-tools_HEADERS
  42. ${frontend-tools_HEADERS}
  43. scripts.hpp
  44. )
  45. set(frontend-tools_SOURCES
  46. ${frontend-tools_SOURCES}
  47. scripts.cpp
  48. )
  49. set(frontend-tools_UI
  50. ${frontend-tools_UI}
  51. forms/scripts.ui
  52. )
  53. set(EXTRA_LIBS
  54. ${EXTRA_LIBS}
  55. obs-scripting
  56. )
  57. endif()
  58. if(WIN32)
  59. set(frontend-tools_PLATFORM_SOURCES
  60. auto-scene-switcher-win.cpp)
  61. if(BUILD_CAPTIONS)
  62. set(frontend-tools_PLATFORM_SOURCES
  63. ${frontend-tools_PLATFORM_SOURCES}
  64. captions.cpp
  65. captions-handler.cpp
  66. captions-mssapi.cpp
  67. captions-mssapi-stream.cpp)
  68. set(frontend-tools_PLATFORM_HEADERS
  69. captions.hpp
  70. captions-handler.hpp
  71. captions-mssapi.hpp
  72. captions-mssapi-stream.hpp)
  73. set(frontend-tools_PLATFORM_UI
  74. forms/captions.ui)
  75. endif()
  76. elseif(APPLE)
  77. set(frontend-tools_PLATFORM_SOURCES
  78. auto-scene-switcher-osx.mm)
  79. set_source_files_properties(auto-scene-switcher-osx.mm
  80. PROPERTIES COMPILE_FLAGS "-fobjc-arc")
  81. set(frontend-tools_PLATFORM_LIBS
  82. ${COCOA})
  83. else()
  84. set(frontend-tools_PLATFORM_SOURCES
  85. auto-scene-switcher-nix.cpp)
  86. endif()
  87. qt5_wrap_ui(frontend-tools_UI_HEADERS
  88. ${frontend-tools_UI}
  89. ${frontend-tools_PLATFORM_UI})
  90. add_library(frontend-tools MODULE
  91. ${frontend-tools_HEADERS}
  92. ${frontend-tools_SOURCES}
  93. ${frontend-tools_UI_HEADERS}
  94. ${frontend-tools_PLATFORM_SOURCES}
  95. ${frontend-tools_PLATFORM_HEADERS}
  96. )
  97. target_link_libraries(frontend-tools
  98. ${frontend-tools_PLATFORM_LIBS}
  99. ${EXTRA_LIBS}
  100. obs-frontend-api
  101. Qt5::Widgets
  102. libobs)
  103. install_obs_plugin_with_data(frontend-tools data)