Blob Blame History Raw
From f178a821b57043fdb7b722187e0175b975c7076b Mon Sep 17 00:00:00 2001
From: Mattias Ellert <mattias.ellert@physics.uu.se>
Date: Wed, 1 Nov 2023 10:04:03 +0100
Subject: [PATCH] Fix cmake/modules/FindZeroMQ.cmake

It now finds ZeroMQ in Fedora 40.
---
 cmake/modules/FindZeroMQ.cmake | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/cmake/modules/FindZeroMQ.cmake b/cmake/modules/FindZeroMQ.cmake
index 24a1c171f5..bd8bf0b3db 100644
--- a/cmake/modules/FindZeroMQ.cmake
+++ b/cmake/modules/FindZeroMQ.cmake
@@ -38,17 +38,21 @@ set ( ZeroMQ_LIBRARIES ${ZeroMQ_LIBRARY} )
 set ( ZeroMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR} )
 
 # check for zmq_ppoll
-if(ZeroMQ_FOUND)
-    SET(SAVE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
-    SET(CMAKE_REQUIRED_DEFINITIONS "-DZMQ_BUILD_DRAFT_API")
+if(ZeroMQ_LIBRARIES)
+    include(CheckCXXSymbolExists)
+    set(CMAKE_REQUIRED_LIBRARIES ${ZeroMQ_LIBRARIES})
+    set(CMAKE_REQUIRED_INCLUDES ${ZeroMQ_INCLUDE_DIRS})
+    set(CMAKE_REQUIRED_DEFINITIONS "-DZMQ_BUILD_DRAFT_API")
     check_cxx_symbol_exists(zmq_ppoll zmq.h ZeroMQ_HAS_PPOLL)
-    SET(CMAKE_REQUIRED_DEFINITIONS "${SAVE_CMAKE_REQUIRED_DEFINITIONS}")
+    unset(CMAKE_REQUIRED_LIBRARIES)
+    unset(CMAKE_REQUIRED_INCLUDES)
+    unset(CMAKE_REQUIRED_DEFINITIONS)
 endif()
 
 include ( FindPackageHandleStandardArgs )
 # handle the QUIETLY and REQUIRED arguments and set ZeroMQ_FOUND to TRUE
 # if all listed variables are TRUE
-find_package_handle_standard_args ( ZeroMQ DEFAULT_MSG ZeroMQ_LIBRARIES ZeroMQ_INCLUDE_DIRS ZeroMQ_HAS_PPOLL)
+find_package_handle_standard_args ( ZeroMQ DEFAULT_MSG ZeroMQ_LIBRARIES ZeroMQ_INCLUDE_DIRS ZeroMQ_HAS_PPOLL )
 
 if(ZeroMQ_FOUND)
     if(NOT TARGET libzmq)
@@ -57,4 +61,4 @@ if(ZeroMQ_FOUND)
                 IMPORTED_LOCATION ${ZeroMQ_LIBRARIES}
                 INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
     endif()
-endif()
\ No newline at end of file
+endif()
-- 
2.41.0