UI: Fix UI file changes not being picked up by CMake
Due to how CMake and generated project files are structured, just using AUTOUIC to pick up Qt `.ui` files will lead to a situation where changing such a file doesn't trigger a regeneration of the associated header files and thus a re-build of the target. Upstream fix still requires `.ui` files to be added as target sources. CMake issue: https://gitlab.kitware.com/cmake/cmake/-/issues/17959
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user