From df8e1c8e588cb0529b2bc02faef1022ef3f29145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 16 Mar 2021 16:59:34 +0100 Subject: [PATCH] cmake: Handle arbitrary configure arguments that contain lists Passing e.g. -- -DQT_BUILD_SUBMODULES="qtbase;qtdeclarative" to configure would fail because the module list was not preserved as a single argument. Change-Id: If685d0d541201597a2c2a5dc3d55b5d1ae51da22 Reviewed-by: Alexandru Croitor --- cmake/QtProcessConfigureArgs.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake index 08b1351fcf6..6410fc30273 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -82,8 +82,10 @@ while(NOT "${configure_args}" STREQUAL "") elseif(arg MATCHES "^-host.*dir") message(FATAL_ERROR "${arg} is not supported anymore.") elseif(arg STREQUAL "--") - # Everything after this argument will be passed to CMake verbatim. - push(${configure_args}) + # Everything after this argument will be passed to CMake verbatim, + # but we need to escape semi-colons so that lists are preserved. + string(REPLACE ";" "\\;" configure_args "${configure_args}") + list(APPEND cmake_args "${configure_args}") break() else() set_property(GLOBAL APPEND PROPERTY UNHANDLED_ARGS "${arg}")