@@ -11,57 +11,70 @@ include(compilerconfig)
1111include (defaults )
1212include (helpers )
1313
14- add_library (${ CMAKE_PROJECT_NAME } MODULE )
14+ add_library (obs-moq MODULE )
1515
16- find_package (libobs REQUIRED )
17- target_link_libraries (${CMAKE_PROJECT_NAME } PRIVATE OBS::libobs )
16+ if (NOT BUILD_PLUGIN)
17+ find_package (libobs REQUIRED )
18+ endif ()
19+ target_link_libraries (obs-moq PRIVATE OBS::libobs )
1820
1921option (MOQ_LOCAL "Path to moq repo for local development" "" )
2022
2123if (MOQ_LOCAL)
2224 add_subdirectory (${MOQ_LOCAL} /rs/libmoq moq )
23- target_link_libraries (${ CMAKE_PROJECT_NAME } PRIVATE moq )
25+ target_link_libraries (obs-moq PRIVATE moq )
2426else ()
2527 include (FetchContent )
2628 FetchContent_Declare (
2729 moq
28- URL https://github.com/moq-dev/moq/releases/download/libmoq-v${MOQ_VERSION} /moq-${MOQ_VERSION} -${MOQ_TARGET} .${MOQ_ARCHIVE}
30+ URL
31+ https://github.com/moq-dev/moq/releases/download/libmoq-v${MOQ_VERSION} /moq-${MOQ_VERSION} -${MOQ_TARGET} .${MOQ_ARCHIVE}
2932 )
3033 FetchContent_MakeAvailable (moq)
3134
3235 find_package (moq REQUIRED PATHS ${moq_SOURCE_DIR } NO_DEFAULT_PATH )
33- target_link_libraries (${ CMAKE_PROJECT_NAME } PRIVATE moq::moq )
36+ target_link_libraries (obs-moq PRIVATE moq::moq )
3437endif ()
3538
3639if (ENABLE_FRONTEND_API)
3740 find_package (obs-frontend-api REQUIRED )
38- target_link_libraries (${ CMAKE_PROJECT_NAME } PRIVATE OBS::obs-frontend-api )
41+ target_link_libraries (obs-moq PRIVATE OBS::obs-frontend-api )
3942endif ()
4043
4144if (ENABLE_QT)
4245 find_package (Qt6 COMPONENTS Widgets Core )
43- target_link_libraries (${ CMAKE_PROJECT_NAME } PRIVATE Qt6::Core Qt6::Widgets )
46+ target_link_libraries (obs-moq PRIVATE Qt6::Core Qt6::Widgets )
4447 target_compile_options (
45- ${ CMAKE_PROJECT_NAME }
48+ obs-moq
4649 PRIVATE $<$<C_COMPILER_ID :Clang ,AppleClang >:-Wno -quoted -include -in -framework -header -Wno -comma >
4750 )
4851 set_target_properties (
49- ${ CMAKE_PROJECT_NAME }
52+ obs-moq
5053 PROPERTIES AUTOMOC ON AUTOUIC ON AUTORCC ON
5154 )
5255endif ()
5356
5457# FFmpeg dependency
5558include (FindPkgConfig )
5659pkg_check_modules (FFMPEG REQUIRED libavcodec libavutil libswscale libswresample )
57- target_include_directories (${ CMAKE_PROJECT_NAME } PRIVATE ${FFMPEG_INCLUDE_DIRS} )
58- target_link_directories (${ CMAKE_PROJECT_NAME } PRIVATE ${FFMPEG_LIBRARY_DIRS} )
59- target_link_libraries (${ CMAKE_PROJECT_NAME } PRIVATE ${FFMPEG_LIBRARIES} )
60+ target_include_directories (obs-moq PRIVATE ${FFMPEG_INCLUDE_DIRS} )
61+ target_link_directories (obs-moq PRIVATE ${FFMPEG_LIBRARY_DIRS} )
62+ target_link_libraries (obs-moq PRIVATE ${FFMPEG_LIBRARIES} )
6063
6164target_sources (
62- ${CMAKE_PROJECT_NAME }
63- PRIVATE src/obs-moq.cpp src/moq-output.h src/moq-service.h src/moq-output.cpp src/moq-service.cpp
64- src/moq-source.cpp src/moq-source.h
65+ obs-moq
66+ PRIVATE
67+ src/obs-moq.cpp
68+ src/moq-output.h
69+ src/moq-service.h
70+ src/moq-output.cpp
71+ src/moq-service.cpp
72+ src/moq-source.cpp
73+ src/moq-source.h
6574)
6675
67- set_target_properties_plugin (${CMAKE_PROJECT_NAME } PROPERTIES OUTPUT_NAME ${_name} )
76+ if (BUILD_PLUGIN)
77+ set_target_properties_plugin (obs-moq PROPERTIES OUTPUT_NAME ${_name} )
78+ else ()
79+ set_target_properties_obs (obs-moq PROPERTIES FOLDER plugins PREFIX "" )
80+ endif ()
0 commit comments