diff --git a/UI/CMakeLists.txt b/UI/CMakeLists.txt index 65fa52a4d..9737437da 100644 --- a/UI/CMakeLists.txt +++ b/UI/CMakeLists.txt @@ -91,6 +91,36 @@ target_include_directories(obs PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) target_sources(obs PRIVATE forms/obs.qrc) +target_sources( + obs + PRIVATE forms/AutoConfigFinishPage.ui + forms/AutoConfigStartPage.ui + forms/AutoConfigStartPage.ui + forms/AutoConfigStreamPage.ui + forms/AutoConfigTestPage.ui + forms/AutoConfigVideoPage.ui + forms/ColorSelect.ui + forms/OBSAbout.ui + forms/OBSBasic.ui + forms/OBSBasicFilters.ui + forms/OBSBasicInteraction.ui + forms/OBSBasicSettings.ui + forms/OBSBasicSourceSelect.ui + forms/OBSBasicTransform.ui + forms/OBSExtraBrowsers.ui + forms/OBSImporter.ui + forms/OBSLogReply.ui + forms/OBSMissingFiles.ui + forms/OBSRemux.ui + forms/OBSUpdate.ui + forms/OBSYoutubeActions.ui + forms/source-toolbar/browser-source-toolbar.ui + forms/source-toolbar/color-source-toolbar.ui + forms/source-toolbar/device-select-toolbar.ui + forms/source-toolbar/game-capture-toolbar.ui + forms/source-toolbar/image-source-toolbar.ui + forms/source-toolbar/media-controls.ui + forms/source-toolbar/text-source-toolbar.ui) target_sources( obs @@ -406,6 +436,17 @@ elseif(OS_POSIX) endif() endif() +get_target_property(_SOURCES obs SOURCES) +set(_UI ${_SOURCES}) +list(FILTER _UI INCLUDE REGEX ".*\\.ui?") + +source_group( + TREE "${CMAKE_CURRENT_SOURCE_DIR}/forms" + PREFIX "UI Files" + FILES ${_UI}) +unset(_SOURCES) +unset(_UI) + define_graphic_modules(obs) setup_obs_app(obs) setup_target_resources(obs obs-studio) diff --git a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt index 6386f61a1..fb6bb0b1c 100644 --- a/UI/frontend-plugins/aja-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/aja-output-ui/CMakeLists.txt @@ -18,6 +18,8 @@ set_target_properties( AUTORCC ON AUTOUIC_SEARCH_PATHS "forms") +target_sources(aja-output-ui PRIVATE forms/output.ui) + target_sources( aja-output-ui PRIVATE AJAOutputUI.h @@ -82,4 +84,15 @@ endif() set_target_properties(aja-output-ui PROPERTIES FOLDER "frontend" PREFIX "") +get_target_property(_SOURCES aja-output-ui SOURCES) +set(_UI ${_SOURCES}) +list(FILTER _UI INCLUDE REGEX ".*\\.ui?") + +source_group( + TREE "${CMAKE_CURRENT_SOURCE_DIR}/forms" + PREFIX "UI Files" + FILES ${_UI}) +unset(_SOURCES) +unset(_UI) + setup_plugin_target(aja-output-ui) diff --git a/UI/frontend-plugins/decklink-captions/CMakeLists.txt b/UI/frontend-plugins/decklink-captions/CMakeLists.txt index b478d50da..9f8b5a0e4 100644 --- a/UI/frontend-plugins/decklink-captions/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-captions/CMakeLists.txt @@ -20,6 +20,8 @@ set_target_properties( target_compile_features(decklink-captions PRIVATE cxx_std_17) +target_sources(decklink-captions PRIVATE forms/captions.ui) + target_sources(decklink-captions PRIVATE decklink-captions.cpp decklink-captions.h) @@ -45,4 +47,15 @@ endif() set_target_properties(decklink-captions PROPERTIES FOLDER "plugins/decklink" PREFIX "") +get_target_property(_SOURCES decklink-captions SOURCES) +set(_UI ${_SOURCES}) +list(FILTER _UI INCLUDE REGEX ".*\\.ui?") + +source_group( + TREE "${CMAKE_CURRENT_SOURCE_DIR}/forms" + PREFIX "UI Files" + FILES ${_UI}) +unset(_SOURCES) +unset(_UI) + setup_plugin_target(decklink-captions) diff --git a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt index 020d6b740..d83542ef0 100644 --- a/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt +++ b/UI/frontend-plugins/decklink-output-ui/CMakeLists.txt @@ -4,40 +4,6 @@ if(NOT ENABLE_DECKLINK) return() endif() -if(NOT COMMAND find_qt) - macro(find_qt) - set(oneValueArgs VERSION) - set(multiValueArgs COMPONENTS COMPONENTS_WIN COMPONENTS_MAC - COMPONENTS_LINUX) - cmake_parse_arguments(FIND_QT "" "${oneValueArgs}" "${multiValueArgs}" - ${ARGN}) - - if(OS_WINDOWS) - find_package( - Qt${FIND_QT_VERSION} - COMPONENTS ${FIND_QT_COMPONENTS} ${FIND_QT_COMPONENTS_WIN} - REQUIRED) - elseif(OS_MACOS) - find_package( - Qt${FIND_QT_VERSION} - COMPONENTS ${FIND_QT_COMPONENTS} ${FIND_QT_COMPONENTS_MAC} - REQUIRED) - else() - find_package( - Qt${FIND_QT_VERSION} - COMPONENTS ${FIND_QT_COMPONENTS} ${FIND_QT_COMPONENTS_LINUX} - REQUIRED) - endif() - - foreach(_COMPONENT IN LISTS ${FIND_QT_COMPONENTS}) - if(NOT TARGET Qt::${_COMPONENT} AND TARGET - Qt${FIND_QT_VERSION}::${_COMPONENT}) - add_library(Qt::${_COMPONENT} ALIAS Qt${FIND_QT_VERSION}::${_COMPONENT}) - endif() - endforeach() - endmacro() -endif() - add_library(decklink-output-ui MODULE) add_library(OBS::decklink-output-ui ALIAS decklink-output-ui) @@ -53,6 +19,8 @@ set_target_properties( AUTORCC ON AUTOUIC_SEARCH_PATHS "forms") +target_sources(decklink-output-ui PRIVATE forms/output.ui) + target_sources( decklink-output-ui PRIVATE DecklinkOutputUI.cpp @@ -101,4 +69,15 @@ elseif(OS_POSIX) Qt${QT_VERSION}::GuiPrivate) endif() +get_target_property(_SOURCES decklink-output-ui SOURCES) +set(_UI ${_SOURCES}) +list(FILTER _UI INCLUDE REGEX ".*\\.ui?") + +source_group( + TREE "${CMAKE_CURRENT_SOURCE_DIR}/forms" + PREFIX "UI Files" + FILES ${_UI}) +unset(_SOURCES) +unset(_UI) + setup_plugin_target(decklink-output-ui) diff --git a/UI/frontend-plugins/frontend-tools/CMakeLists.txt b/UI/frontend-plugins/frontend-tools/CMakeLists.txt index b8894ef47..aac98f90f 100644 --- a/UI/frontend-plugins/frontend-tools/CMakeLists.txt +++ b/UI/frontend-plugins/frontend-tools/CMakeLists.txt @@ -15,6 +15,10 @@ set_target_properties( AUTORCC ON AUTOUIC_SEARCH_PATHS "forms") +target_sources( + frontend-tools PRIVATE forms/auto-scene-switcher.ui forms/captions.ui + forms/output-timer.ui forms/scripts.ui) + target_sources( frontend-tools PRIVATE frontend-tools.c @@ -103,4 +107,15 @@ elseif(OS_POSIX) target_sources(frontend-tools PRIVATE auto-scene-switcher-nix.cpp) endif() +get_target_property(_SOURCES frontend-tools SOURCES) +set(_UI ${_SOURCES}) +list(FILTER _UI INCLUDE REGEX ".*\\.ui?") + +source_group( + TREE "${CMAKE_CURRENT_SOURCE_DIR}/forms" + PREFIX "UI Files" + FILES ${_UI}) +unset(_SOURCES) +unset(_UI) + setup_plugin_target(frontend-tools)