diff options
Diffstat (limited to 'cmake/Modules/GlibCompileResources.cmake')
| -rw-r--r-- | cmake/Modules/GlibCompileResources.cmake | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/cmake/Modules/GlibCompileResources.cmake b/cmake/Modules/GlibCompileResources.cmake deleted file mode 100644 index f718cac..0000000 --- a/cmake/Modules/GlibCompileResources.cmake +++ /dev/null @@ -1,85 +0,0 @@ -# SPDX-FileCopyrightText: 2025 Felix Morgner <felix.morgner@gmail.com> -# SPDX-License-Identifier: LGPL-2.1-only - -find_program(GLIB_COMPILE_RESOURCES - NAMES "glib-compile-resources" - REQUIRED -) - -function(target_add_glib_resources TARGET) - set(SINGLE_VALUE_ARGS "NAME" "PREFIX" "WORKING_DIRECTORY") - set(MULTI_VALUE_ARGS "CSS_FILES" "XML_FILES") - cmake_parse_arguments( - PARSE_ARGV 1 - "" - "${OPTIONS}" - "${SINGLE_VALUE_ARGS}" - "${MULTI_VALUE_ARGS}" - ) - - # Sanity Checks - - if(NOT TARGET "${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() - - if(NOT _WORKING_DIRECTORY) - set(_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") - endif() - - # File Names - - 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(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) - string(APPEND GLIB_RESOURCE_FILES " <file compressed=\"true\">${CSS_FILE}</file>\n") - endforeach() - - string(STRIP "${GLIB_RESOURCE_FILES}" GLIB_RESOURCE_FILES) - set(GLIB_RESOURCE_PREFIX "${_PREFIX}") - configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/GlibCompileResources.in" - "${GLIB_RESOURCE_MANIFEST}" - ) - - # Source Generation - - foreach(FILE IN LISTS _CSS_FILES _XML_FILES) - list(APPEND _DEPS "${_WORKING_DIRECTORY}/${FILE}") - endforeach() - - - add_custom_command(OUTPUT "${GLIB_RESOURCE_C_FILE}" - WORKING_DIRECTORY "${_WORKING_DIRECTORY}" - COMMAND "${GLIB_COMPILE_RESOURCES}" - ARGS - "--target=${GLIB_RESOURCE_C_FILE}" - "--generate-source" - "--internal" - "${GLIB_RESOURCE_MANIFEST}" - VERBATIM - MAIN_DEPENDENCY "${GLIB_RESOURCE_MANIFEST}" - DEPENDS - ${_DEPS} - ) - - # Target Inclusion - - target_sources("${TARGET}" PRIVATE - "${GLIB_RESOURCE_C_FILE}" - ) -endfunction() |
