diff options
Diffstat (limited to 'cmake/QtWriteArgsFile.cmake')
-rw-r--r-- | cmake/QtWriteArgsFile.cmake | 8 |
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 |