소스 검색

FindwxWidgets: Fix wxWidgets_LIBRARY_DIRS on Cygwin/MSYS

The check for `wxWidgets_LIBRARIES` variable, introduced by e8b77084, fails
with the `wx-config` script generated by an MSYS build, because
`wxWidgets_LIBRARY_DIRS` is in POSIX style.

This commit fixes the problem with `wxWidgets_LIBRARY_DIRS` by converting it to
Windows style.  The actual code were copied from bf643286, which does the same
thing for `wxWidgets_INCLUDE_DIRS`.
ARATA Mizuki 7 년 전
부모
커밋
44ad8e48de
1개의 변경된 파일20개의 추가작업 그리고 0개의 파일을 삭제
  1. 20 0
      Modules/FindwxWidgets.cmake

+ 20 - 0
Modules/FindwxWidgets.cmake

@@ -875,6 +875,26 @@ else()
         set(wxWidgets_INCLUDE_DIRS ${_tmp_path})
         set(wxWidgets_INCLUDE_DIRS ${_tmp_path})
         separate_arguments(wxWidgets_INCLUDE_DIRS)
         separate_arguments(wxWidgets_INCLUDE_DIRS)
         list(REMOVE_ITEM wxWidgets_INCLUDE_DIRS "")
         list(REMOVE_ITEM wxWidgets_INCLUDE_DIRS "")
+
+        set(_tmp_path "")
+        foreach(_path ${wxWidgets_LIBRARY_DIRS})
+          execute_process(
+            COMMAND cygpath -w ${_path}
+            OUTPUT_VARIABLE _native_path
+            RESULT_VARIABLE _retv
+            OUTPUT_STRIP_TRAILING_WHITESPACE
+            ERROR_QUIET
+            )
+          if(_retv EQUAL 0)
+            file(TO_CMAKE_PATH ${_native_path} _native_path)
+            DBG_MSG_V("Path ${_path} converted to ${_native_path}")
+            string(APPEND _tmp_path " ${_native_path}")
+          endif()
+        endforeach()
+        DBG_MSG("Setting wxWidgets_LIBRARY_DIRS = ${_tmp_path}")
+        set(wxWidgets_LIBRARY_DIRS ${_tmp_path})
+        separate_arguments(wxWidgets_LIBRARY_DIRS)
+        list(REMOVE_ITEM wxWidgets_LIBRARY_DIRS "")
       endif()
       endif()
       unset(_cygpath_exe CACHE)
       unset(_cygpath_exe CACHE)
     endif()
     endif()