obs-studio/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt
Ryan Foster 2f8ea190b2 UI: Update CMake minimum to 3.22
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00

67 lines
2.2 KiB
CMake

cmake_minimum_required(VERSION 3.22...3.25)
legacy_check()
if(NOT ENABLE_DECKLINK)
target_disable(decklink-output-ui)
return()
endif()
find_qt(COMPONENTS Widgets COMPONENTS_LINUX Gui)
add_library(decklink-output-ui MODULE)
add_library(OBS::decklink-output-ui ALIAS decklink-output-ui)
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
"${CMAKE_SOURCE_DIR}/UI/double-slider.cpp"
"${CMAKE_SOURCE_DIR}/UI/double-slider.hpp"
"${CMAKE_SOURCE_DIR}/UI/plain-text-edit.hpp"
"${CMAKE_SOURCE_DIR}/UI/plain-text-edit.cpp"
"${CMAKE_SOURCE_DIR}/UI/properties-view.hpp"
"${CMAKE_SOURCE_DIR}/UI/properties-view.cpp"
"${CMAKE_SOURCE_DIR}/UI/properties-view.moc.hpp"
"${CMAKE_SOURCE_DIR}/UI/qt-wrappers.hpp"
"${CMAKE_SOURCE_DIR}/UI/qt-wrappers.cpp"
"${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.cpp"
"${CMAKE_SOURCE_DIR}/UI/spinbox-ignorewheel.hpp"
"${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.cpp"
"${CMAKE_SOURCE_DIR}/UI/slider-ignorewheel.hpp"
"${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.hpp"
"${CMAKE_SOURCE_DIR}/UI/vertical-scroll-area.cpp")
target_link_libraries(decklink-output-ui PRIVATE OBS::libobs OBS::frontend-api Qt::Widgets)
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)
elseif(OS_MACOS)
find_library(COCOA Cocoa)
mark_as_advanced(COCOA)
target_link_libraries(decklink-output-ui PRIVATE ${COCOA})
target_compile_options(decklink-output-ui PRIVATE -Wno-quoted-include-in-framework-header)
elseif(OS_LINUX OR OS_FREEBSD)
find_package(X11 REQUIRED)
target_link_libraries(decklink-output-ui PRIVATE X11::X11 Qt::GuiPrivate)
endif()
set_target_properties_obs(
decklink-output-ui
PROPERTIES FOLDER frontend
PREFIX ""
AUTOMOC ON
AUTOUIC ON
AUTORCC ON
AUTOUIC_SEARCH_PATHS forms)