From d303465448504d3f91e2991e80a72a3d569f3866 Mon Sep 17 00:00:00 2001 From: Tibor Szabo Date: Thu, 18 May 2017 11:46:47 +0200 Subject: FindCygwin: Use find_program instead of find_path Cygwin's installation directory is mainly needed to use some programs of it, irrespectively of the target architecture. However, find_path does not consider cygwin with architecture different than the target architecture. This is because cygwin's installation path is retrieved from the registry. WOW64 view is not used by find_path if generating for 32-bit architecture and vice versa, so cygwin is not found then. find_program tries both views, this way a 64-bit cygwin may be used for 32 bit build and vice versa. --- Modules/FindCygwin.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/FindCygwin.cmake b/Modules/FindCygwin.cmake index 90cbd52..b2ed703 100644 --- a/Modules/FindCygwin.cmake +++ b/Modules/FindCygwin.cmake @@ -8,13 +8,13 @@ # this module looks for Cygwin if (WIN32) - find_path(CYGWIN_INSTALL_PATH + find_program(CYGWIN_INSTALL_PATH cygwin.bat "C:/Cygwin" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygwin\\setup;rootdir]" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/;native]" ) - + get_filename_component(CYGWIN_INSTALL_PATH "${CYGWIN_INSTALL_PATH}" DIRECTORY) mark_as_advanced( CYGWIN_INSTALL_PATH ) -- cgit v0.12