summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-09-14 16:50:26 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-09-14 16:50:41 (GMT)
commit6576ca15f656459becccb1cdcde18c707e2ab339 (patch)
tree55a507c99c9351d6d3a433a82e52f288efa66b7a /Modules
parentdd282961b983b87937593267d4680eeb6d9e9c8d (diff)
parent5e5132e1b1a090b8d9f58e0316fced47479c9a53 (diff)
downloadCMake-6576ca15f656459becccb1cdcde18c707e2ab339.zip
CMake-6576ca15f656459becccb1cdcde18c707e2ab339.tar.gz
CMake-6576ca15f656459becccb1cdcde18c707e2ab339.tar.bz2
Merge topic 'mingw-search-prefixes'
5e5132e1b1 MinGW: Search for packages in standard MSYSTEM environment prefixes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8796
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Platform/Windows-GNU.cmake19
1 files changed, 19 insertions, 0 deletions
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index 088b238..412af6b 100644
--- a/Modules/Platform/Windows-GNU.cmake
+++ b/Modules/Platform/Windows-GNU.cmake
@@ -10,6 +10,25 @@ set(__WINDOWS_GNU 1)
set(MINGW 1)
+# On Windows hosts, in MSYSTEM environments, search standard prefixes.
+if(CMAKE_HOST_WIN32)
+ # Bootstrap CMake does not have cmake_host_system_information.
+ if(COMMAND cmake_host_system_information)
+ cmake_host_system_information(RESULT _MSYSTEM_PREFIX QUERY MSYSTEM_PREFIX)
+ elseif(IS_DIRECTORY "$ENV{MSYSTEM_PREFIX}")
+ set(_MSYSTEM_PREFIX "$ENV{MSYSTEM_PREFIX}")
+ endif()
+
+ # Search this MSYSTEM environment's equivalent to /usr/local and /usr.
+ if(_MSYSTEM_PREFIX)
+ list(PREPEND CMAKE_SYSTEM_PREFIX_PATH "${_MSYSTEM_PREFIX}")
+ if(IS_DIRECTORY "${_MSYSTEM_PREFIX}/local")
+ list(PREPEND CMAKE_SYSTEM_PREFIX_PATH "${_MSYSTEM_PREFIX}/local")
+ endif()
+ endif()
+ unset(_MSYSTEM_PREFIX)
+endif()
+
set(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
set(CMAKE_SHARED_MODULE_PREFIX "lib")