diff options
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/Modules/GlibCompileResources.cmake | 22 | ||||
| -rw-r--r-- | cmake/Modules/GlibCompileResources.in | 2 |
2 files changed, 13 insertions, 11 deletions
diff --git a/cmake/Modules/GlibCompileResources.cmake b/cmake/Modules/GlibCompileResources.cmake index 3922b92..f718cac 100644 --- a/cmake/Modules/GlibCompileResources.cmake +++ b/cmake/Modules/GlibCompileResources.cmake @@ -7,8 +7,8 @@ find_program(GLIB_COMPILE_RESOURCES ) function(target_add_glib_resources TARGET) - set(SINGLE_VALUE_ARGS "PREFIX" "WORKING_DIRECTORY") - set(MULTI_VALUE_ARGS "CSS_FILES" "UI_FILES") + set(SINGLE_VALUE_ARGS "NAME" "PREFIX" "WORKING_DIRECTORY") + set(MULTI_VALUE_ARGS "CSS_FILES" "XML_FILES") cmake_parse_arguments( PARSE_ARGV 1 "" @@ -23,6 +23,10 @@ function(target_add_glib_resources TARGET) message(FATAL_ERROR "Target '${TARGET}' does not exist") endif() + if(NOT _NAME) + set(_NAME "${TARGET}") + endif() + if(NOT _PREFIX) message(FATAL_ERROR "Glib resource prefix not defined") endif() @@ -33,13 +37,13 @@ function(target_add_glib_resources TARGET) # File Names - set(GLIB_RESOURCE_C_FILE "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.gresource.c") - set(GLIB_RESOURCE_MANIFEST "${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.gresource.xml") + set(GLIB_RESOURCE_C_FILE "${CMAKE_CURRENT_BINARY_DIR}/${_NAME}.gresource.c") + set(GLIB_RESOURCE_MANIFEST "${CMAKE_CURRENT_BINARY_DIR}/${_NAME}.gresource.xml") # Manifest File - foreach(UI_FILE IN LISTS _UI_FILES) - string(APPEND GLIB_RESOURCE_FILES " <file compressed=\"true\" preprocess=\"xml-stripblanks\">${UI_FILE}</file>\n") + foreach(XML_FILE IN LISTS _XML_FILES) + string(APPEND GLIB_RESOURCE_FILES " <file compressed=\"true\" preprocess=\"xml-stripblanks\">${XML_FILE}</file>\n") endforeach() foreach(CSS_FILE IN LISTS _CSS_FILES) @@ -48,13 +52,13 @@ function(target_add_glib_resources TARGET) string(STRIP "${GLIB_RESOURCE_FILES}" GLIB_RESOURCE_FILES) set(GLIB_RESOURCE_PREFIX "${_PREFIX}") - configure_file("${PROJECT_SOURCE_DIR}/cmake/Modules/GlibCompileResources.in" + configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/GlibCompileResources.in" "${GLIB_RESOURCE_MANIFEST}" ) # Source Generation - foreach(FILE IN LISTS _CSS_FILES _UI_FILES) + foreach(FILE IN LISTS _CSS_FILES _XML_FILES) list(APPEND _DEPS "${_WORKING_DIRECTORY}/${FILE}") endforeach() @@ -79,5 +83,3 @@ function(target_add_glib_resources TARGET) "${GLIB_RESOURCE_C_FILE}" ) endfunction() - -# <file preprocess="xml-stripblanks">bookie.ui</file> diff --git a/cmake/Modules/GlibCompileResources.in b/cmake/Modules/GlibCompileResources.in index 2166c25..07b7194 100644 --- a/cmake/Modules/GlibCompileResources.in +++ b/cmake/Modules/GlibCompileResources.in @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <gresources> - <gresource prefix="/@GLIB_RESOURCE_PREFIX@"> + <gresource prefix="@GLIB_RESOURCE_PREFIX@"> @GLIB_RESOURCE_FILES@ </gresource> </gresources>
\ No newline at end of file |
