Browse Source

FindwxWidgets: Restore win32 find style on MinGW

Since commit 6fac8af9ca (FindwxWidgets: set wxWidgets_FIND_STYLE to unix
on MINGW, 2022-04-11, v3.24.0-rc1~296^2), we only tried unix find style
on MinGW.  However, only some MinGW builds have the `wx-config` needed
for unix find style.  Other builds, including those using the official
wxWidgets makefiles, do not provide `wx-config` and need to use win32
find style.  To accommodate both use cases, first use win32 find style
and if it fails, use unix find style.
Maarten Bent 3 years ago
parent
commit
6dce42b171
1 changed files with 9 additions and 18 deletions
  1. 9 18
      Modules/FindwxWidgets.cmake

+ 9 - 18
Modules/FindwxWidgets.cmake

@@ -53,8 +53,6 @@ the following variables:
   wxWidgets_USE_UNIVERSAL
   wxWidgets_USE_STATIC
 
-
-
 There is also a wxWidgets_CONFIG_OPTIONS variable for all other
 options that need to be passed to the wx-config utility.  For example,
 to use the base toolkit found in the /usr/local path, set the variable
@@ -244,7 +242,7 @@ endmacro()
 #=====================================================================
 # Determine whether unix or win32 paths should be used
 #=====================================================================
-if(WIN32 AND NOT CYGWIN AND NOT MSYS AND NOT MINGW AND NOT CMAKE_CROSSCOMPILING)
+if(WIN32 AND NOT CYGWIN AND NOT MSYS AND NOT CMAKE_CROSSCOMPILING)
   set(wxWidgets_FIND_STYLE "win32")
 else()
   set(wxWidgets_FIND_STYLE "unix")
@@ -652,11 +650,17 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
     endif()
   endif()
 
+  if(MINGW AND NOT wxWidgets_FOUND)
+    # Try unix search mode as well.
+    set(wxWidgets_FIND_STYLE "unix")
+    dbg_msg_v("wxWidgets_FIND_STYLE changed to unix")
+  endif()
+endif()
+
 #=====================================================================
 # UNIX_FIND_STYLE
 #=====================================================================
-else()
-  if(wxWidgets_FIND_STYLE STREQUAL "unix")
+if(wxWidgets_FIND_STYLE STREQUAL "unix")
     #-----------------------------------------------------------------
     # UNIX: Helper MACROS
     #-----------------------------------------------------------------
@@ -920,19 +924,6 @@ else()
       endif()
       unset(_cygpath_exe CACHE)
     endif()
-
-#=====================================================================
-# Neither UNIX_FIND_STYLE, nor WIN32_FIND_STYLE
-#=====================================================================
-  else()
-    if(NOT wxWidgets_FIND_QUIETLY)
-      message(STATUS
-        "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): \n"
-        "  Platform unknown/unsupported. It's neither WIN32 nor UNIX "
-        "find style."
-        )
-    endif()
-  endif()
 endif()
 
 # Check that all libraries are present, as wx-config does not check it