bootstrap: Convert MSYS paths to Windows format (#13001)
We set CMAKE_PREFIX_PATH from the --prefix= option. The calling shell might not translate "/c/..." to "c:/..." paths but we need to store Windows paths in CMake cache variables. Pass the specified path through the MSYS shell in a form it will convert to a Windows path using the MSYS fstab. Some MSYS bash implementations leave trailing space on the command line to 'cmd /c echo ...' after quoting the message. The Windows echo tool preserves both the quotes and the trailing space. Use a sed expression that strips quotes and trailing spaces after the end quote.
This commit is contained in:
parent
26519d591e
commit
5cd879c4e7
16
bootstrap
16
bootstrap
@ -127,10 +127,20 @@ fi
|
|||||||
cmake_bootstrap_dir="${cmake_binary_dir}/Bootstrap${_cmk}"
|
cmake_bootstrap_dir="${cmake_binary_dir}/Bootstrap${_cmk}"
|
||||||
|
|
||||||
# Helper function to fix windows paths.
|
# Helper function to fix windows paths.
|
||||||
cmake_fix_slashes ()
|
case "${cmake_system}" in
|
||||||
{
|
*MINGW*)
|
||||||
|
cmake_fix_slashes()
|
||||||
|
{
|
||||||
|
cmd //c echo "$(echo "$1" | sed 's/\\/\//g')" | sed 's/^"//;s/" *$//'
|
||||||
|
}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
cmake_fix_slashes()
|
||||||
|
{
|
||||||
echo "$1" | sed 's/\\/\//g'
|
echo "$1" | sed 's/\\/\//g'
|
||||||
}
|
}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Choose the default install prefix.
|
# Choose the default install prefix.
|
||||||
if ${cmake_system_mingw}; then
|
if ${cmake_system_mingw}; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user