aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/Install.cmake.in4
1 files changed, 3 insertions, 1 deletions
diff --git a/cmake/Install.cmake.in b/cmake/Install.cmake.in
index 7ee27a5..c4dbba7 100644
--- a/cmake/Install.cmake.in
+++ b/cmake/Install.cmake.in
@@ -12,10 +12,12 @@ endif()
set(cpsc_install_windows "@WIN32@")
if(cpsc_install_windows)
cpsc_find_dependency(PROGRAM cpsc_cmd NAMES cmd.exe REQUIRED)
+ # cmd scans its whole command line for switches, so C:/Windows/System32/cmd.exe would read "/cmd.exe" as /c.
+ file(TO_NATIVE_PATH "${cpsc_cmd}" cpsc_cmd_native)
file(TO_NATIVE_PATH "@CMAKE_CURRENT_SOURCE_DIR@/install.cmd" cpsc_installer)
# An explicit "call" keeps cmd's handling of the quoted script path the same on CMake 3.x and 4.x.
execute_process(
- COMMAND "${cpsc_cmd}" /d /c call "${cpsc_installer}"
+ COMMAND "${cpsc_cmd_native}" /d /c call "${cpsc_installer}"
--source-dir "@CMAKE_CURRENT_BINARY_DIR@"
--prefix "${CMAKE_INSTALL_PREFIX}"
RESULT_VARIABLE cpsc_install_result