From 1d74095f77cc19ba4886d502bbb7a290f9874c9f Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 29 Apr 2025 14:00:29 +0200 Subject: ui: move UI builder files --- cmake/Modules/GlibCompileResources.cmake | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'cmake/Modules/GlibCompileResources.cmake') diff --git a/cmake/Modules/GlibCompileResources.cmake b/cmake/Modules/GlibCompileResources.cmake index d327e7e..8d10c1a 100644 --- a/cmake/Modules/GlibCompileResources.cmake +++ b/cmake/Modules/GlibCompileResources.cmake @@ -4,7 +4,7 @@ find_program(GLIB_COMPILE_RESOURCES ) function(target_add_glib_resources TARGET) - set(SINGLE_VALUE_ARGS "PREFIX") + set(SINGLE_VALUE_ARGS "PREFIX" "WORKING_DIRECTORY") set(MULTI_VALUE_ARGS "CSS_FILES" "UI_FILES") cmake_parse_arguments( PARSE_ARGV 1 @@ -24,6 +24,10 @@ function(target_add_glib_resources TARGET) message(FATAL_ERROR "Glib resource prefix not defined") endif() + if(NOT _WORKING_DIRECTORY) + set(_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") + endif() + # File Names set(GLIB_RESOURCE_C_FILE "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.gresource.c") @@ -47,8 +51,13 @@ function(target_add_glib_resources TARGET) # Source Generation + foreach(FILE IN LISTS _CSS_FILES _UI_FILES) + list(APPEND _DEPS "${_WORKING_DIRECTORY}/${FILE}") + endforeach() + + add_custom_command(OUTPUT "${GLIB_RESOURCE_C_FILE}" - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + WORKING_DIRECTORY "${_WORKING_DIRECTORY}" COMMAND "${GLIB_COMPILE_RESOURCES}" ARGS "--target=${GLIB_RESOURCE_C_FILE}" @@ -58,8 +67,7 @@ function(target_add_glib_resources TARGET) VERBATIM MAIN_DEPENDENCY "${GLIB_RESOURCE_MANIFEST}" DEPENDS - ${_CSS_FILES} - ${_UI_FILES} + ${_DEPS} ) # Target Inclusion -- cgit v1.2.3