diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-05-28 20:30:10 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-05-28 20:30:10 +0200 |
| commit | a92eaa4c1bffc97db037328249b52a0740651a07 (patch) | |
| tree | 251867584a9a6607fcf3bd0597fc8641d964e689 /cmake/Modules/Glib.cmake | |
| parent | 62f67faaed7577e5bfab2148ffcdda529dfe19a6 (diff) | |
| download | turns-a92eaa4c1bffc97db037328249b52a0740651a07.tar.xz turns-a92eaa4c1bffc97db037328249b52a0740651a07.zip | |
gui: reintroduce settings schemas
Diffstat (limited to 'cmake/Modules/Glib.cmake')
| -rw-r--r-- | cmake/Modules/Glib.cmake | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/cmake/Modules/Glib.cmake b/cmake/Modules/Glib.cmake index 0e5ab61..8707f06 100644 --- a/cmake/Modules/Glib.cmake +++ b/cmake/Modules/Glib.cmake @@ -192,6 +192,10 @@ function(glib_add_schemas TARGET) message(FATAL_ERROR "Glib: Target '${TARGET}' does not exist") endif() + if(NOT _SCHEMA_DIR) + set(_SCHEMA_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + endif() + if(NOT IS_ABSOLUTE "${_SCHEMA_DIR}") get_filename_component(_SCHEMA_DIR "${_SCHEMA_DIR}" REALPATH) endif() @@ -200,24 +204,21 @@ function(glib_add_schemas TARGET) message(FATAL_ERROR "Glib: Directory '${_SCHEMA_DIR}' does not exists") endif() - file(GLOB SCHAMA_FILES CONFIGURE_DEPENDS "${_SCHEMA_DIR}/*.gschema.xml") + file(GLOB SCHEMA_FILES CONFIGURE_DEPENDS "${_SCHEMA_DIR}/*.gschema.xml") - add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0/schemas/gschemas.compiled" - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + set(OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0/schemas") + set(OUTPUT_FILE "${OUTPUT_DIRECTORY}/gschemas.compiled") + + add_custom_command(OUTPUT "${OUTPUT_FILE}" COMMAND "${GLIB_COMPILE_SCHEMAS_BIN}" - ARGS - "--targetdir=${CMAKE_CURRENT_BINARY_DIR}/glib-2.0/schemas" + "--targetdir=${OUTPUT_DIRECTORY}" "--strict" "${_SCHEMA_DIR}" - VERBATIM COMMENT "Compiling gsettings schemas" - DEPENDS - ${SCHEMA_FILES} + DEPENDS ${SCHEMA_FILES} ) - add_custom_target("${TARGET}_schemas" DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0/schemas/gschemas.compiled") - - add_dependencies("${TARGET}" "${TARGET}_schemas") + target_sources("${TARGET}" PRIVATE "${OUTPUT_DIRECTORY}/gschemas.compiled") endfunction() |
