bugfix cmake zeromq

This commit is contained in:
Erik Frojdh 2022-04-19 20:11:31 +02:00
parent 086d22f1a3
commit e1642cf37c
2 changed files with 23 additions and 15 deletions

View File

@ -6,7 +6,7 @@ function(custom_find_zmq)
message(STATUS "Looking for ZeroMQ in: ${ZeroMQ_HINT}") message(STATUS "Looking for ZeroMQ in: ${ZeroMQ_HINT}")
find_package(ZeroMQ 4 find_package(ZeroMQ 4
NO_DEFAULT_PATH NO_DEFAULT_PATH
HINTS ${ZeroMQ_DIR} HINTS ${ZeroMQ_HINT}
) )
else() else()
find_package(ZeroMQ 4 QUIET) find_package(ZeroMQ 4 QUIET)

View File

@ -4,25 +4,33 @@ find_package(PkgConfig)
pkg_check_modules(PC_LIBZMQ QUIET libzmq) pkg_check_modules(PC_LIBZMQ QUIET libzmq)
set(ZeroMQ_VERSION ${PC_LIBZMQ_VERSION}) set(ZeroMQ_VERSION ${PC_LIBZMQ_VERSION})
find_library(ZeroMQ_LIBRARY NAMES libzmq.so libzmq.dylib libzmq.dll
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS}) find_path(ZeroMQ_INCLUDE_DIR zmq.h
find_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq-static.a libzmq.a libzmq.dll.a PATHS ${ZeroMQ_DIR}/include
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS}) ${PC_LIBZMQ_INCLUDE_DIRS}
)
find_library(ZeroMQ_LIBRARY
NAMES zmq
PATHS ${ZeroMQ_DIR}/lib
${PC_LIBZMQ_LIBDIR}
${PC_LIBZMQ_LIBRARY_DIRS}
)
if(ZeroMQ_LIBRARY OR ZeroMQ_STATIC_LIBRARY) if(ZeroMQ_LIBRARY OR ZeroMQ_STATIC_LIBRARY)
set(ZeroMQ_FOUND ON) set(ZeroMQ_FOUND ON)
message(STATUS "Found libzmq using PkgConfig") message(STATUS "Found libzmq using PkgConfig")
endif() endif()
if (TARGET libzmq) set ( ZeroMQ_LIBRARIES ${ZeroMQ_LIBRARY} )
# avoid errors defining targets twice set ( ZeroMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR} )
return()
if (NOT TARGET libzmq)
add_library(libzmq UNKNOWN IMPORTED)
set_target_properties(libzmq PROPERTIES
IMPORTED_LOCATION ${ZeroMQ_LIBRARIES}
INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS})
endif() endif()
add_library(libzmq SHARED IMPORTED) include ( FindPackageHandleStandardArgs )
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS}) find_package_handle_standard_args ( ZeroMQ DEFAULT_MSG ZeroMQ_LIBRARIES ZeroMQ_INCLUDE_DIRS )
set_property(TARGET libzmq PROPERTY IMPORTED_LOCATION ${ZeroMQ_LIBRARY})
add_library(libzmq-static STATIC IMPORTED ${PC_LIBZMQ_INCLUDE_DIRS})
set_property(TARGET libzmq-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_INCLUDE_DIRS})
set_property(TARGET libzmq-static PROPERTY IMPORTED_LOCATION ${ZeroMQ_STATIC_LIBRARY})