summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2024-02-06 18:00:59 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-02-07 18:24:56 +0000
commit1481c336a68dce798a77f48b3bb30e4e47af3540 (patch)
tree98d4170533d1052920c8602ed24a6a60cb70d254
parentcefc8cb3e57c96c30a57cd9db1076ac2734d2450 (diff)
cmake: fix quoting in qt6_am_add_systemui_wrapper
Change-Id: If8164dbb08bcc7cf7fe56d7e93dd37f32603a03a Reviewed-by: Dominik Holland <dominik.holland@qt.io> (cherry picked from commit ced5d95484e71e41b20beb96e28926f0e3fac2dc) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--examples/applicationmanager/package-installation/CMakeLists.txt4
-rw-r--r--src/main-lib/Qt6AppManMainPrivateMacros.cmake16
2 files changed, 12 insertions, 8 deletions
diff --git a/examples/applicationmanager/package-installation/CMakeLists.txt b/examples/applicationmanager/package-installation/CMakeLists.txt
index 2a1aa610..5decbb92 100644
--- a/examples/applicationmanager/package-installation/CMakeLists.txt
+++ b/examples/applicationmanager/package-installation/CMakeLists.txt
@@ -24,8 +24,8 @@ qt6_am_add_systemui_wrapper(package-installation
CONFIG_YAML am-config.yaml
EXTRA_FILES apps system-ui
EXTRA_ARGS --verbose
- -o 'systemProperties: { public: { serverBinary: "${QT6_INSTALL_PREFIX}/${QT6_INSTALL_BINS}/appman-package-server" }}'
- -o 'systemProperties: { public: { serverBaseDir: "${CMAKE_CURRENT_BINARY_DIR}/ps-data" }}'
+ -o "systemProperties: { public: { serverBinary: '${QT6_INSTALL_PREFIX}/${QT6_INSTALL_BINS}/appman-package-server' }}"
+ -o "systemProperties: { public: { serverBaseDir: '${CMAKE_CURRENT_BINARY_DIR}/ps-data' }}"
)
foreach (PKG_NAME red green)
diff --git a/src/main-lib/Qt6AppManMainPrivateMacros.cmake b/src/main-lib/Qt6AppManMainPrivateMacros.cmake
index c67749c2..12cd9dd1 100644
--- a/src/main-lib/Qt6AppManMainPrivateMacros.cmake
+++ b/src/main-lib/Qt6AppManMainPrivateMacros.cmake
@@ -66,7 +66,7 @@ function(qt6_am_add_systemui_wrapper target)
if (ARG_CONFIG_YAML)
foreach(F ${ARG_CONFIG_YAML})
- list(APPEND CMD_ARGS "-c ${F}")
+ list(APPEND CMD_ARGS -c ${F})
list(APPEND ALL_EXTRA_FILES ${F})
qt_am_internal_create_copy_command(${F})
endforeach()
@@ -96,8 +96,12 @@ function(qt6_am_add_systemui_wrapper target)
endforeach()
endif()
- string(JOIN " " CMD_ARGS_STR ${CMD_ARGS})
- string(JOIN " " CMD_EXTRA_ARGS_STR ${ARG_EXTRA_ARGS})
+ list(APPEND CMD_ARGS ${ARG_EXTRA_ARGS})
+ # quote all arguments with spaces
+ list(TRANSFORM CMD_ARGS PREPEND "\"" REGEX " ")
+ list(TRANSFORM CMD_ARGS APPEND "\"" REGEX " ")
+ # join all arguments into a single string
+ list(JOIN CMD_ARGS " " CMD_ARGS_STR)
configure_file(${_AM_MACROS_LOCATION}/wrapper.cpp.in wrapper.cpp)
@@ -117,7 +121,7 @@ function(qt6_am_add_systemui_wrapper target)
SetLocal EnableDelayedExpansion
(set \"PATH=${test_env_path};%PATH%\")
(set \"QT_PLUGIN_PATH=${test_env_plugin_path}\")
-${ARG_EXECUTABLE}.exe ${CMD_ARGS_STR} ${CMD_EXTRA_ARGS_STR} ${ARG_MAIN_QML_FILE} %*
+${ARG_EXECUTABLE}.exe ${CMD_ARGS_STR} ${ARG_MAIN_QML_FILE} %*
EndLocal
"
)
@@ -128,7 +132,7 @@ EndLocal
"#!/bin/sh
export PATH=\"${test_env_path}:$PATH\"
export QT_PLUGIN_PATH=\"${test_env_plugin_path}\"
-exec ${ARG_EXECUTABLE} ${CMD_ARGS_STR} ${CMD_EXTRA_ARGS_STR} ${ARG_MAIN_QML_FILE} \"$@\";
+exec ${ARG_EXECUTABLE} ${CMD_ARGS_STR} ${ARG_MAIN_QML_FILE} \"$@\";
"
)
endif()
@@ -238,7 +242,7 @@ function (qt_am_internal_add_qml_test target)
--qmltestrunner-source-file "${CMAKE_CURRENT_SOURCE_DIR}/${ARG_TEST_FILE}")
if (ARG_TESTDATA_DIR)
- list(APPEND WRAPPER_ARGS EXTRA_ARGS -o "\"systemProperties: { public: { AM_TESTDATA_DIR: ${ARG_TESTDATA_DIR} } }\"")
+ list(APPEND WRAPPER_ARGS EXTRA_ARGS -o "systemProperties: { public: { AM_TESTDATA_DIR: '${ARG_TESTDATA_DIR}' } }")
endif()
list(APPEND WRAPPER_ARGS EXTRA_ARGS --no-cache --no-dlt-logging)