Fix an issue with processing -prefix paths ending with \ on Windows
In cases like `C:\` or `C:\D\E F G\`, we had the issue were Windows' path separator was acting as an escape and was corrupting configure arguments', so, we were ending up with `-DCMAKE_INSTALL_PREFIX=C`, or were cutting the argument list short, and ended up ignoring some of the arguments. Pick-to: 6.5 6.6 Change-Id: I433af61d5c143cc37a64dcf8ac82a1a78ce543a5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
958c12273a
commit
b738ad7e3a
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user