diff options
author | Brad King <brad.king@kitware.com> | 2012-02-29 19:29:16 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-03-01 15:09:05 (GMT) |
commit | 5cd879c4e75405ab404a2e6c4e77caa36877baf1 (patch) | |
tree | bd73c53e3102f3d323c18ae0c3169a79d3bb4642 | |
parent | 26519d591ea28d3f26f34c625c2d57db6f302d63 (diff) | |
download | CMake-5cd879c4e75405ab404a2e6c4e77caa36877baf1.zip CMake-5cd879c4e75405ab404a2e6c4e77caa36877baf1.tar.gz CMake-5cd879c4e75405ab404a2e6c4e77caa36877baf1.tar.bz2 |
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.
-rwxr-xr-x | bootstrap | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -127,10 +127,20 @@ fi cmake_bootstrap_dir="${cmake_binary_dir}/Bootstrap${_cmk}" # Helper function to fix windows paths. -cmake_fix_slashes () -{ - echo "$1" | sed 's/\\/\//g' -} +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' + } + ;; +esac # Choose the default install prefix. if ${cmake_system_mingw}; then |