aboutsummaryrefslogtreecommitdiff
path: root/depends/patches/zeromq/fix_mingw_link.patch
diff options
context:
space:
mode:
Diffstat (limited to 'depends/patches/zeromq/fix_mingw_link.patch')
-rw-r--r--depends/patches/zeromq/fix_mingw_link.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/depends/patches/zeromq/fix_mingw_link.patch b/depends/patches/zeromq/fix_mingw_link.patch
new file mode 100644
index 0000000000..1434557dc7
--- /dev/null
+++ b/depends/patches/zeromq/fix_mingw_link.patch
@@ -0,0 +1,31 @@
+Fix CMake-generated `libzmq.pc` file
+
+This change mirrors the Autotools-based build system behavior for
+cross-compiling for Windows with static linking.
+
+See https://github.com/zeromq/libzmq/pull/4706.
+
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 03462271..0315e606 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -546,12 +546,18 @@ if(ZMQ_HAVE_WINDOWS)
+ # Cannot use check_library_exists because the symbol is always declared as char(*)(void)
+ set(CMAKE_REQUIRED_LIBRARIES "ws2_32.lib")
+ check_cxx_symbol_exists(WSAStartup "winsock2.h" HAVE_WS2_32)
++ if(HAVE_WS2_32)
++ set(pkg_config_libs_private "${pkg_config_libs_private} -lws2_32")
++ endif()
+
+ set(CMAKE_REQUIRED_LIBRARIES "rpcrt4.lib")
+ check_cxx_symbol_exists(UuidCreateSequential "rpc.h" HAVE_RPCRT4)
+
+ set(CMAKE_REQUIRED_LIBRARIES "iphlpapi.lib")
+ check_cxx_symbol_exists(GetAdaptersAddresses "winsock2.h;iphlpapi.h" HAVE_IPHLAPI)
++ if(HAVE_IPHLAPI)
++ set(pkg_config_libs_private "${pkg_config_libs_private} -liphlpapi")
++ endif()
+ check_cxx_symbol_exists(if_nametoindex "iphlpapi.h" HAVE_IF_NAMETOINDEX)
+
+ set(CMAKE_REQUIRED_LIBRARIES "")