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