find-winsock.patch 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. diff --git a/cmake/FindWinSock.cmake b/cmake/FindWinSock.cmake
  2. index 25c4f2fa..26753e5d 100644
  3. --- a/cmake/FindWinSock.cmake
  4. +++ b/cmake/FindWinSock.cmake
  5. @@ -39,6 +39,7 @@ endmacro(REMOVE_DUPLICATE_PATHS)
  6. set(WINSOCK_INCLUDE_PATHS "${WINSOCK_ROOT}/include/")
  7. if(MINGW)
  8. + file(TOUCH ${CMAKE_BINARY_DIR}/nul)
  9. execute_process(
  10. COMMAND ${CMAKE_C_COMPILER} -xc -E -v -
  11. RESULT_VARIABLE RESULT
  12. @@ -71,7 +72,17 @@ if(MINGW)
  13. )
  14. if (NOT RESULT)
  15. string(REGEX MATCH "libraries: =([^\r\n]*)" OUT "${OUT}")
  16. - list(APPEND WINSOCK_LIBRARY_PATHS "${CMAKE_MATCH_1}")
  17. + if(CMAKE_HOST_WIN32)
  18. + message(STATUS "not replacing ${_SEARCH_PATHS}")
  19. + list(APPEND WINSOCK_LIBRARY_PATHS "${CMAKE_MATCH_1}")
  20. + else()
  21. + # On Unix-like host systems, search dirs are separated by ':'.
  22. + # Thus we need to replace ':' with ';' to make a valid cmake list.
  23. + string(REPLACE ":" ";" _SEARCH_PATHS "${CMAKE_MATCH_1}")
  24. + message(STATUS "after replace ${_SEARCH_PATHS}")
  25. + list(APPEND WINSOCK_LIBRARY_PATHS "${_SEARCH_PATHS}")
  26. + unset(_SEARCH_PATHS)
  27. + endif()
  28. endif()
  29. endif()
  30. if ("${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "AMD64" AND "${CMAKE_SIZEOF_VOID_P}" EQUAL 4)