summaryrefslogtreecommitdiff
path: root/cmake/Modules
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2025-05-24 14:35:10 +0200
committerFelix Morgner <felix.morgner@gmail.com>2025-05-24 14:35:10 +0200
commitf05c009fb30817afd905310689cb479fa36d6ff9 (patch)
treeafd9b9ce1e2b276ccbec96d578c854a2d862d855 /cmake/Modules
parent3b34ac3ccbeb62673b37f0c73cc145fede43c404 (diff)
downloadturns-f05c009fb30817afd905310689cb479fa36d6ff9.tar.xz
turns-f05c009fb30817afd905310689cb479fa36d6ff9.zip
gui: add resources
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/GlibCompileResources.cmake22
-rw-r--r--cmake/Modules/GlibCompileResources.in2
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