CMakeLists.txt 1.9 KB

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