diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake index 0eeb5866e16..6800415bb32 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -516,6 +516,12 @@ function(qt_commandline_path arg val nextok) qt_commandline_string("${arg}" "${val}" "${nextok}") endfunction() +# Handle command line arguments of type "stringList" exactly like strings. +# They are treated differently by translate_input, however. +function(qt_commandline_stringList arg val nextok) + qt_commandline_string("${arg}" "${val}" "${nextok}") +endfunction() + function(qt_commandline_optionalString arg val nextok) if("${val}" STREQUAL "") if(nextok) @@ -861,6 +867,9 @@ macro(translate_input name cmake_var) translate_path_input(${name} ${cmake_var}) elseif("${commandline_input_${name}_type}" STREQUAL "string") translate_string_input(${name} ${cmake_var}) + elseif("${commandline_input_${name}_type}" STREQUAL "addString" + OR "${commandline_input_${name}_type}" STREQUAL "stringList") + translate_list_input(${name} ${cmake_var}) else() message(FATAL_ERROR "translate_input cannot handle input '${name}' " @@ -966,7 +975,6 @@ if(NOT "${INPUT_device}" STREQUAL "") drop_input(device) endif() guess_compiler_from_mkspec() -translate_list_input(qpa_platforms QT_QPA_PLATFORMS) if(DEFINED INPUT_android-ndk-platform) drop_input(android-ndk-platform) @@ -1046,7 +1054,7 @@ if("${INPUT_ltcg}" STREQUAL "yes") endforeach() endif() -translate_list_input(device-option QT_QMAKE_DEVICE_OPTIONS) +# Handle -D, -I and friends. translate_list_input(defines QT_EXTRA_DEFINES) translate_list_input(fpaths QT_EXTRA_FRAMEWORKPATHS) translate_list_input(includes QT_EXTRA_INCLUDEPATHS) diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake index c6fdb0e9d49..56cd9fc1cc1 100644 --- a/qt_cmdline.cmake +++ b/qt_cmdline.cmake @@ -64,7 +64,7 @@ qt_commandline_option(dbus-runtime TYPE void NAME dbus VALUE runtime) qt_commandline_option(debug TYPE void) qt_commandline_option(debug-and-release TYPE boolean NAME debug_and_release) qt_commandline_option(device TYPE string) -qt_commandline_option(device-option TYPE addString) +qt_commandline_option(device-option TYPE addString CMAKE_VARIABLE QT_QMAKE_DEVICE_OPTIONS) qt_commandline_option(f16c TYPE boolean) qt_commandline_option(force-asserts TYPE boolean NAME force_asserts) qt_commandline_option(force-debug-info TYPE boolean NAME force_debug_info) diff --git a/src/gui/qt_cmdline.cmake b/src/gui/qt_cmdline.cmake index 01356665cbb..cbafae7d52d 100644 --- a/src/gui/qt_cmdline.cmake +++ b/src/gui/qt_cmdline.cmake @@ -28,7 +28,7 @@ qt_commandline_option(opengl TYPE optionalString VALUES no yes desktop es2 dynam qt_commandline_option(opengl-es-2 TYPE void NAME opengl VALUE es2) qt_commandline_option(opengles3 TYPE boolean) qt_commandline_option(openvg TYPE boolean) -qt_commandline_option(qpa TYPE string NAME qpa_platforms) +qt_commandline_option(qpa TYPE stringList NAME qpa_platforms CMAKE_VARIABLE QT_QPA_PLATFORMS) qt_commandline_option(default-qpa TYPE string NAME qpa_default_platform