diff --git a/.cmake/Modules/Cram.cmake b/.cmake/Modules/Cram.cmake index cdc0ec4..8fc8778 100644 --- a/.cmake/Modules/Cram.cmake +++ b/.cmake/Modules/Cram.cmake @@ -30,7 +30,23 @@ set(ENV{CRITERION_NO_EARLY_EXIT} "1") set(ENV{CRITERION_JOBS} "1") set(ENV{CRITERION_DISABLE_TIME_MEASUREMENTS} "1") -execute_process (COMMAND python -m cram -v "${CRAM_PATH}" TIMEOUT 60 RESULT_VARIABLE RES) +if (WIN32) + if (NOT ENV{MINGW}) + set (MINGW_HOME "C:/MinGW") + else () + file (TO_CMAKE_PATH "$ENV{MINGW}" MINGW_HOME) + endif () + if (NOT ENV{CRAM_SHELL} AND MINGW_HOME) + set (CRAM_SHELL "${MINGW_HOME}/msys/1.0/bin/sh.exe") + else () + file (TO_CMAKE_PATH "$ENV{CRAM_SHELL}" CRAM_SHELL) + endif () + if (CRAM_SHELL) + set(CRAM_OPTS "--shell=${CRAM_SHELL}") + endif () +endif () + +execute_process (COMMAND python -m cram -v ${CRAM_OPTS} "${CRAM_PATH}" TIMEOUT 60 RESULT_VARIABLE RES) if (NOT RES STREQUAL "0") message (FATAL_ERROR "Cram tests failed")