From c05b9ba5201a540a1e2621a52228c2a7c62f3f19 Mon Sep 17 00:00:00 2001 From: Emil Santurio Date: Wed, 14 Jan 2026 23:33:06 +0100 Subject: [PATCH 1/2] chore: Edit CMake config to reuse it into moqbs --- CMakeLists.txt | 30 ++++++++++++++++++------------ CMakePresets.json | 1 + 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 240e0c5..e0a3298 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,16 +11,18 @@ include(compilerconfig) include(defaults) include(helpers) -add_library(${CMAKE_PROJECT_NAME} MODULE) +add_library(obs-moq MODULE) -find_package(libobs REQUIRED) -target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE OBS::libobs) +if(NOT ${BUILD_PLUGIN}) + find_package(libobs REQUIRED) +endif() +target_link_libraries(obs-moq PRIVATE OBS::libobs) option(MOQ_LOCAL "Path to moq repo for local development" "") if(MOQ_LOCAL) add_subdirectory(${MOQ_LOCAL}/rs/libmoq moq) - target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE moq) + target_link_libraries(obs-moq PRIVATE moq) else() include(FetchContent) FetchContent_Declare( @@ -30,17 +32,17 @@ else() FetchContent_MakeAvailable(moq) find_package(moq REQUIRED PATHS ${moq_SOURCE_DIR} NO_DEFAULT_PATH) - target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE moq::moq) + target_link_libraries(obs-moq PRIVATE moq::moq) endif() if(ENABLE_FRONTEND_API) find_package(obs-frontend-api REQUIRED) - target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE OBS::obs-frontend-api) + target_link_libraries(obs-moq PRIVATE OBS::obs-frontend-api) endif() if(ENABLE_QT) find_package(Qt6 COMPONENTS Widgets Core) - target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE Qt6::Core Qt6::Widgets) + target_link_libraries(obs-moq PRIVATE Qt6::Core Qt6::Widgets) target_compile_options( ${CMAKE_PROJECT_NAME} PRIVATE $<$:-Wno-quoted-include-in-framework-header -Wno-comma> @@ -54,14 +56,18 @@ endif() # FFmpeg dependency include(FindPkgConfig) pkg_check_modules(FFMPEG REQUIRED libavcodec libavutil libswscale libswresample) -target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${FFMPEG_INCLUDE_DIRS}) -target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE ${FFMPEG_LIBRARY_DIRS}) -target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE ${FFMPEG_LIBRARIES}) +target_include_directories(obs-moq PRIVATE ${FFMPEG_INCLUDE_DIRS}) +target_link_directories(obs-moq PRIVATE ${FFMPEG_LIBRARY_DIRS}) +target_link_libraries(obs-moq PRIVATE ${FFMPEG_LIBRARIES}) target_sources( - ${CMAKE_PROJECT_NAME} + obs-moq PRIVATE src/obs-moq.cpp src/moq-output.h src/moq-service.h src/moq-output.cpp src/moq-service.cpp src/moq-source.cpp src/moq-source.h ) -set_target_properties_plugin(${CMAKE_PROJECT_NAME} PROPERTIES OUTPUT_NAME ${_name}) +if(${BUILD_PLUGIN}) + set_target_properties_plugin(obs-moq PROPERTIES OUTPUT_NAME ${_name}) +else() + set_target_properties_obs(obs-moq PROPERTIES FOLDER plugins PREFIX "") +endif() diff --git a/CMakePresets.json b/CMakePresets.json index 59e6c67..af49534 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -13,6 +13,7 @@ "ENABLE_FRONTEND_API": false, "ENABLE_QT": false, "CMAKE_EXPORT_COMPILE_COMMANDS": true, + "BUILD_PLUGIN": true, "MOQ_VERSION": "0.2.4", "MOQ_ARCHIVE": "tar.gz" } From 0b788adb365371af068ac26df0d4e3077d2ca6cd Mon Sep 17 00:00:00 2001 From: Emil Santurio Date: Wed, 14 Jan 2026 23:42:18 +0100 Subject: [PATCH 2/2] chore: CMakeLists refactor & format --- CMakeLists.txt | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e0a3298..175695b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ include(helpers) add_library(obs-moq MODULE) -if(NOT ${BUILD_PLUGIN}) +if(NOT BUILD_PLUGIN) find_package(libobs REQUIRED) endif() target_link_libraries(obs-moq PRIVATE OBS::libobs) @@ -27,7 +27,8 @@ else() include(FetchContent) FetchContent_Declare( moq - URL https://github.com/moq-dev/moq/releases/download/libmoq-v${MOQ_VERSION}/moq-${MOQ_VERSION}-${MOQ_TARGET}.${MOQ_ARCHIVE} + URL + https://github.com/moq-dev/moq/releases/download/libmoq-v${MOQ_VERSION}/moq-${MOQ_VERSION}-${MOQ_TARGET}.${MOQ_ARCHIVE} ) FetchContent_MakeAvailable(moq) @@ -44,11 +45,11 @@ if(ENABLE_QT) find_package(Qt6 COMPONENTS Widgets Core) target_link_libraries(obs-moq PRIVATE Qt6::Core Qt6::Widgets) target_compile_options( - ${CMAKE_PROJECT_NAME} + obs-moq PRIVATE $<$:-Wno-quoted-include-in-framework-header -Wno-comma> ) set_target_properties( - ${CMAKE_PROJECT_NAME} + obs-moq PROPERTIES AUTOMOC ON AUTOUIC ON AUTORCC ON ) endif() @@ -62,11 +63,17 @@ target_link_libraries(obs-moq PRIVATE ${FFMPEG_LIBRARIES}) target_sources( obs-moq - PRIVATE src/obs-moq.cpp src/moq-output.h src/moq-service.h src/moq-output.cpp src/moq-service.cpp - src/moq-source.cpp src/moq-source.h + PRIVATE + src/obs-moq.cpp + src/moq-output.h + src/moq-service.h + src/moq-output.cpp + src/moq-service.cpp + src/moq-source.cpp + src/moq-source.h ) -if(${BUILD_PLUGIN}) +if(BUILD_PLUGIN) set_target_properties_plugin(obs-moq PROPERTIES OUTPUT_NAME ${_name}) else() set_target_properties_obs(obs-moq PROPERTIES FOLDER plugins PREFIX "")