diff --git a/CMakeLists.txt b/CMakeLists.txt index 6466598b2..008419637 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,10 +117,15 @@ check_include_files(windows.h ZMQ_HAVE_WINDOWS) check_include_files(sys/uio.h ZMQ_HAVE_UIO) check_include_files(sys/eventfd.h ZMQ_HAVE_EVENTFD) -check_library_exists(ws2_32 WSAStartup "" HAVE_WS2_32) -check_library_exists(ws2 WSAStartup "" HAVE_WS2) -check_library_exists(rpcrt4 UuidCreate "" HAVE_RPCRT4) -check_library_exists(iphlpapi GetNetworkParams "" HAVE_IPHLAPI) +if(MSVC) + # Force stdcall convention + set(CMAKE_REQUIRED_FLAGS "/Gz") +endif() +check_library_exists(ws2_32 WSAGetLastError "" HAVE_WS2_32) +check_library_exists(ws2 WSAGetLastError "" HAVE_WS2) +check_library_exists(rpcrt4 RpcErrorClearInformation "" HAVE_RPCRT4) +check_library_exists(iphlpapi GetAdapterOrderMap "" HAVE_IPHLAPI) +unset(CMAKE_REQUIRED_FLAGS) check_cxx_symbol_exists(SO_PEERCRED sys/socket.h ZMQ_HAVE_SO_PEERCRED) check_cxx_symbol_exists(LOCAL_PEERCRED sys/socket.h ZMQ_HAVE_LOCAL_PEERCRED)