summaryrefslogtreecommitdiffstats
path: root/cmake/QtWriteArgsFile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/QtWriteArgsFile.cmake')
-rw-r--r--cmake/QtWriteArgsFile.cmake8
1 files changed, 7 insertions, 1 deletions
diff --git a/cmake/QtWriteArgsFile.cmake b/cmake/QtWriteArgsFile.cmake
index acc771ec3b..77a9eb2463 100644
--- a/cmake/QtWriteArgsFile.cmake
+++ b/cmake/QtWriteArgsFile.cmake
@@ -19,8 +19,15 @@ cmake_minimum_required(VERSION 3.16)
# Read arguments from IN_FILE and separate them.
file(READ "${IN_FILE}" raw_args)
+# To catch cases where the path ends with an `\`, e.g., `-prefix "C:\Path\"`
+string(REPLACE "\\\"" "\"" raw_args "${raw_args}")
+string(REPLACE ";" "[[;]]" raw_args "${raw_args}")
+
separate_arguments(args NATIVE_COMMAND "${raw_args}")
+string(REPLACE "\;" ";" args "${args}")
+string(REPLACE "[[;]]" "\;" args "${args}")
+
if(DEFINED REDO_FILE)
file(READ "${REDO_FILE}" raw_redo_args)
separate_arguments(redo_args NATIVE_COMMAND "${raw_redo_args}")
@@ -65,7 +72,6 @@ if(DEFINED REDO_FILE)
else()
list(APPEND args "${redo_args}")
endif()
-
endif()
# Skip arguments if requested