From 2ee974b892f905fcc2a0f4f4eee672c11d07139d Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 20 Sep 2019 10:44:22 +0200 Subject: [PATCH] cmake: Support passing extra arguments to rcc qt6_add_resources already supported the OPTIONS multi value parameter, but only for the non-target case. Use the same parameter for the target case. Change-Id: Ib5fcb976ecbac244c3b11073b3cdd0c5c6366a87 Reviewed-by: Simon Hausmann Reviewed-by: Leander Beernaert Reviewed-by: Qt CMake Build Bot --- cmake/QtResource.cmake.in | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cmake/QtResource.cmake.in b/cmake/QtResource.cmake.in index 894269b1e0f..a62930f5729 100644 --- a/cmake/QtResource.cmake.in +++ b/cmake/QtResource.cmake.in @@ -186,7 +186,7 @@ endfunction() # function(QT@PROJECT_VERSION_MAJOR@_PROCESS_RESOURCE target resourceName) - cmake_parse_arguments(rcc "" "PREFIX;LANG;BASE;OUTPUT_TARGETS" "FILES" ${ARGN}) + cmake_parse_arguments(rcc "" "PREFIX;LANG;BASE;OUTPUT_TARGETS" "FILES;OPTIONS" ${ARGN}) string(REPLACE "/" "_" resourceName ${resourceName}) string(REPLACE "." "_" resourceName ${resourceName}) @@ -268,11 +268,16 @@ function(QT@PROJECT_VERSION_MAJOR@_PROCESS_RESOURCE target resourceName) file(GENERATE OUTPUT "${generatedResourceFile}" CONTENT "${qrcContents}") + set(rccArgs --name "${newResourceName}" + --output "${generatedSourceCode}" "${generatedResourceFile}") + if(rcc_OPTIONS) + list(APPEND rccArgs ${rcc_OPTIONS}) + endif() + # Process .qrc file: add_custom_command(OUTPUT "${generatedSourceCode}" COMMAND "@QT_CMAKE_EXPORT_NAMESPACE@::rcc" - ARGS --name "${newResourceName}" - --output "${generatedSourceCode}" "${generatedResourceFile}" + ARGS ${rccArgs} DEPENDS ${resources} ${generatedResourceFile} COMMENT "RCC ${newResourceName}" VERBATIM)