From 0baf5659c6222175b5d0a5b47d45e145dbdb8400 Mon Sep 17 00:00:00 2001 From: David Cole Date: Fri, 29 Jul 2011 11:04:48 -0400 Subject: [PATCH] Ensure libgmp-10.dll is in the PATH for CMakeTestAllGenerators But only if it exists at the default location: C:/MinGW/bin/libgmp-10.dll This is so that the pop-up dialog about not being able to load that dll does not hang the test when there's nobody watching. --- Tests/CMakeTestAllGenerators/RunCMake.cmake | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Tests/CMakeTestAllGenerators/RunCMake.cmake b/Tests/CMakeTestAllGenerators/RunCMake.cmake index dcf4a23c6..6d27d3be1 100644 --- a/Tests/CMakeTestAllGenerators/RunCMake.cmake +++ b/Tests/CMakeTestAllGenerators/RunCMake.cmake @@ -60,6 +60,28 @@ message(STATUS "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)") message(STATUS "CMake generators='${generators}'") +# If we'll be testing any of the MinGW Makefiles generators, adjust the +# ENV{PATH} to make sure libgmp-10.dll can be loaded as needed. But only if +# the testing machine has a default MinGW install... (If you have a +# non-default install, append to the PATH before running the test...) +# +if(generators MATCHES "MinGW Makefiles") + if(EXISTS "C:/MinGW/bin/libgmp-10.dll") + string(TOLOWER "$ENV{PATH}" path) + if(NOT path MATCHES "/mingw/bin") + if(UNIX) + set(sep ":") + set(mingw_bin "/mingw/bin") + else() + set(sep ";") + set(mingw_bin "C:/MinGW/bin") + endif() + set(ENV{PATH} "$ENV{PATH}${sep}${mingw_bin}") + message(STATUS "info: appending '${sep}${mingw_bin}' to the PATH") + endif() + endif() +endif() + # First setup a source tree to run CMake on. # execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory