diff options
-rw-r--r-- | src/linguist/Qt6LinguistToolsMacros.cmake | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/linguist/Qt6LinguistToolsMacros.cmake b/src/linguist/Qt6LinguistToolsMacros.cmake index 452e3f503..eb11458cd 100644 --- a/src/linguist/Qt6LinguistToolsMacros.cmake +++ b/src/linguist/Qt6LinguistToolsMacros.cmake @@ -344,18 +344,29 @@ if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) message(FATAL_ERROR "qt_add_lupdate() is only available in Qt 6.") endif() endfunction() - macro(qt_add_lrelease) + function(qt_add_lrelease) if(QT_DEFAULT_MAJOR_VERSION EQUAL 6) qt6_add_lrelease(${ARGN}) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "QM_FILES_OUTPUT_VARIABLE" "") + if(arg_QM_FILES_OUTPUT_VARIABLE) + set(${arg_QM_FILES_OUTPUT_VARIABLE} ${${arg_QM_FILES_OUTPUT_VARIABLE}} PARENT_SCOPE) + endif() else() message(FATAL_ERROR "qt_add_lrelease() is only available in Qt 6.") endif() - endmacro() - macro(qt_add_translations) + endfunction() + function(qt_add_translations) if(QT_DEFAULT_MAJOR_VERSION EQUAL 6) qt6_add_translations(${ARGN}) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "OUTPUT_TARGETS;QM_FILES_OUTPUT_VARIABLE" "") + if(arg_OUTPUT_TARGETS) + set(${arg_OUTPUT_TARGETS} ${${arg_OUTPUT_TARGETS}} PARENT_SCOPE) + endif() + if(arg_QM_FILES_OUTPUT_VARIABLE) + set(${arg_QM_FILES_OUTPUT_VARIABLE} ${${arg_QM_FILES_OUTPUT_VARIABLE}} PARENT_SCOPE) + endif() else() message(FATAL_ERROR "qt_add_translations() is only available in Qt 6.") endif() - endmacro() + endfunction() endif() |