mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-07-20 04:05:13 -04:00
Frontend plugins should not require being placed in the frontend directory to be built successfully. Indeed they should only depend on libobs and the obs-frontend-api and thus their source tree should be able to exist anywhere (even standalone) and the plugin should still compile successfully (just like any 3rd party plugin). Thus moving those plugins into the main plugin directory ensures that they don't require on any "special sauce" within the source tree to compile.
57 lines
1.5 KiB
CMake
57 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.28...3.30)
|
|
|
|
if(NOT ENABLE_DECKLINK)
|
|
target_disable(decklink-output-ui)
|
|
return()
|
|
endif()
|
|
|
|
find_package(Qt6 REQUIRED Widgets)
|
|
|
|
if(OS_LINUX OR OS_FREEBSD OR OS_OPENBSD)
|
|
find_package(X11 REQUIRED)
|
|
endif()
|
|
|
|
add_library(decklink-output-ui MODULE)
|
|
add_library(OBS::decklink-output-ui ALIAS decklink-output-ui)
|
|
|
|
if(NOT TARGET OBS::properties-view)
|
|
add_subdirectory("${CMAKE_SOURCE_DIR}/shared/properties-view" "${CMAKE_BINARY_DIR}/shared/properties-view")
|
|
endif()
|
|
|
|
target_sources(decklink-output-ui PRIVATE forms/output.ui)
|
|
|
|
target_sources(
|
|
decklink-output-ui
|
|
PRIVATE DecklinkOutputUI.cpp DecklinkOutputUI.h decklink-ui-main.cpp decklink-ui-main.h
|
|
)
|
|
|
|
target_compile_options(decklink-output-ui PRIVATE $<$<PLATFORM_ID:Darwin>:-Wno-quoted-include-in-framework-header>)
|
|
|
|
target_link_libraries(
|
|
decklink-output-ui
|
|
PRIVATE
|
|
OBS::libobs
|
|
OBS::frontend-api
|
|
OBS::properties-view
|
|
Qt::Widgets
|
|
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,Cocoa.framework>>"
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:X11::X11>
|
|
)
|
|
|
|
if(OS_WINDOWS)
|
|
configure_file(cmake/windows/obs-module.rc.in decklink-output-ui.rc)
|
|
target_sources(decklink-output-ui PRIVATE decklink-output-ui.rc)
|
|
|
|
set_property(TARGET decklink-output-ui APPEND PROPERTY AUTORCC_OPTIONS --format-version 1)
|
|
endif()
|
|
|
|
set_target_properties_obs(
|
|
decklink-output-ui
|
|
PROPERTIES FOLDER plugins/decklink
|
|
PREFIX ""
|
|
AUTOMOC ON
|
|
AUTOUIC ON
|
|
AUTORCC ON
|
|
AUTOUIC_SEARCH_PATHS forms
|
|
)
|