CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. project(frontend-tools)
  2. if(APPLE)
  3. find_library(COCOA Cocoa)
  4. include_directories(${COCOA})
  5. endif()
  6. if(WIN32 OR APPLE)
  7. set(frontend-tools_HEADERS
  8. auto-scene-switcher.hpp
  9. )
  10. set(frontend-tools_SOURCES
  11. auto-scene-switcher.cpp
  12. )
  13. set(frontend-tools_UI
  14. forms/auto-scene-switcher.ui
  15. )
  16. endif()
  17. configure_file(
  18. "${CMAKE_CURRENT_SOURCE_DIR}/frontend-tools-config.h.in"
  19. "${CMAKE_BINARY_DIR}/config/frontend-tools-config.h")
  20. set(frontend-tools_HEADERS
  21. ${frontend-tools_HEADERS}
  22. "${CMAKE_BINARY_DIR}/config/frontend-tools-config.h"
  23. output-timer.hpp
  24. tool-helpers.hpp
  25. )
  26. set(frontend-tools_SOURCES
  27. ${frontend-tools_SOURCES}
  28. frontend-tools.c
  29. output-timer.cpp
  30. )
  31. set(frontend-tools_UI
  32. ${frontend-tools_UI}
  33. forms/output-timer.ui
  34. )
  35. if(WIN32)
  36. set(frontend-tools_PLATFORM_SOURCES
  37. auto-scene-switcher-win.cpp)
  38. if(BUILD_CAPTIONS)
  39. set(frontend-tools_PLATFORM_SOURCES
  40. ${frontend-tools_PLATFORM_SOURCES}
  41. captions.cpp
  42. captions-stream.cpp)
  43. set(frontend-tools_PLATFORM_HEADERS
  44. captions.hpp
  45. captions-stream.hpp)
  46. set(frontend-tools_PLATFORM_UI
  47. forms/captions.ui)
  48. endif()
  49. elseif(APPLE)
  50. set(frontend-tools_PLATFORM_SOURCES
  51. auto-scene-switcher-osx.mm)
  52. set_source_files_properties(auto-scene-switcher-osx.mm
  53. PROPERTIES COMPILE_FLAGS "-fobjc-arc")
  54. set(frontend-tools_PLATFORM_LIBS
  55. ${COCOA})
  56. endif()
  57. qt5_wrap_ui(frontend-tools_UI_HEADERS
  58. ${frontend-tools_UI}
  59. ${frontend-tools_PLATFORM_UI})
  60. add_library(frontend-tools MODULE
  61. ${frontend-tools_HEADERS}
  62. ${frontend-tools_SOURCES}
  63. ${frontend-tools_UI_HEADERS}
  64. ${frontend-tools_PLATFORM_SOURCES}
  65. ${frontend-tools_PLATFORM_HEADERS}
  66. )
  67. target_link_libraries(frontend-tools
  68. ${frontend-tools_PLATFORM_LIBS}
  69. obs-frontend-api
  70. Qt5::Widgets
  71. libobs)
  72. install_obs_plugin_with_data(frontend-tools data)