diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-10-29 11:50:52 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-10-30 08:22:35 +0100 |
commit | cb7f4030bc89471aa6489be60ac1c728a3dfd06b (patch) | |
tree | b7d139fdb155027ae513fa242e58b86976696460 /cmake/QtProcessConfigureArgs.cmake | |
parent | 2a29426e3915ecc7fa5b4cbb06c7565c40ca2ec6 (diff) |
CMake: Fix [qt-]configure[-module].bat arguments with backslashes
We must escape backslashes in CMake code that's to be evaluated and in
the arguments we read from config.opt.
Change-Id: I65d033c77f71888974983aa3d834acb2fe89f3fb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtProcessConfigureArgs.cmake')
-rw-r--r-- | cmake/QtProcessConfigureArgs.cmake | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake index ce64c0e978..9614061212 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -44,6 +44,7 @@ endif() file(STRINGS "${OPTFILE}" configure_args) list(FILTER configure_args EXCLUDE REGEX "^[ \t]*$") list(TRANSFORM configure_args STRIP) +list(TRANSFORM configure_args REPLACE "\\\\" "\\\\\\\\") unset(generator) set(auto_detect_generator TRUE) unset(device_options) @@ -390,6 +391,7 @@ function(qt_call_function func) string(APPEND call_code "\"${ARGV${i}}\" ") endforeach() string(APPEND call_code ")") + string(REPLACE "\\" "\\\\" call_code "${call_code}") if(${CMAKE_VERSION} VERSION_LESS "3.18.0") set(incfile qt_tmp_func_call.cmake) file(WRITE "${incfile}" "${call_code}") |