From 1b3b62d1b9fd7cc06bf2c5a1fb8044a1bcc8219f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Brooke?= Date: Tue, 25 Feb 2025 21:29:39 +0100 Subject: [PATCH] CMake: add a DISCARD_FILE_CONTENTS option to qt_add_resources [ChangeLog][CMake] Added a DISCARD_FILE_CONTENTS option to qt_add_resources(). Change-Id: I75e28b1b885b66da826c72fedcb34ae0d911e6d0 Reviewed-by: Alexandru Croitor --- src/corelib/Qt6CoreMacros.cmake | 9 ++++++--- src/corelib/doc/src/cmake/qt_add_resources.qdoc | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 4eb90fb10fc..4fe689ab956 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -2260,8 +2260,11 @@ endfunction() # targets pass a value to the OUTPUT_TARGETS parameter. # function(_qt_internal_process_resource target resourceName) - cmake_parse_arguments(rcc "BIG_RESOURCES" - "PREFIX;LANG;BASE;OUTPUT_TARGETS;DESTINATION" "FILES;OPTIONS" ${ARGN}) + set(options BIG_RESOURCES DISCARD_FILE_CONTENTS) + set(oneValueArgs PREFIX LANG BASE OUTPUT_TARGETS DESTINATION) + set(multiValueArgs FILES OPTIONS) + + cmake_parse_arguments(rcc "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) if("${rcc_OPTIONS}" MATCHES "-binary") set(isBinary TRUE) @@ -2377,7 +2380,7 @@ function(_qt_internal_process_resource target resourceName) ) string(APPEND qrcContents " ${escaped_file}\n") diff --git a/src/corelib/doc/src/cmake/qt_add_resources.qdoc b/src/corelib/doc/src/cmake/qt_add_resources.qdoc index 2e713b1b8e2..570272c6097 100644 --- a/src/corelib/doc/src/cmake/qt_add_resources.qdoc +++ b/src/corelib/doc/src/cmake/qt_add_resources.qdoc @@ -29,6 +29,7 @@ qt_add_resources( [LANG ] [BASE ] [BIG_RESOURCES] + [DISCARD_FILE_CONTENTS] [OUTPUT_TARGETS ] [FILES ...] [OPTIONS ...]) \endcode @@ -85,6 +86,10 @@ be generated. Should you wish to perform additional processing on these targets, pass a variable name to the \c OUTPUT_TARGETS parameter. The \c qt_add_resources function stores the names of the special targets in the specified variable. +If \c DISCARD_FILE_CONTENTS is specified, the resource files will be added to +the resource system without embedding their actual contents. Instead, these +files will be stored as empty placeholders within the generated resource. + \section1 Arguments of both variants You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.