mirror of
https://github.com/zeromq/cppzmq.git
synced 2024-12-12 18:40:28 +01:00
bffb0eda34
If libzmq is only available as a shared library and not a static one then cmake fails with: -- CMake libzmq package not found, trying again with pkg-config (normal install of zeromq) -- Found PkgConfig: /home/fabrice/buildroot/output/host/bin/pkg-config (found version "0.28") CMake Error at CMakeLists.txt:20 (message): ZeroMQ was not found, neither as a CMake package nor via pkg-config This is due to the fact that ZeroMQ_FOUND is not set to ON even if ZEROMQ_LIBRARY is TRUE: if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY) set(ZeroMQ_FOUND ON) endif() So change AND by OR as suggested in https://github.com/zeromq/cppzmq/issues/266 Fix #266 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
27 lines
1.0 KiB
CMake
27 lines
1.0 KiB
CMake
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)
|
|
find_package(PkgConfig)
|
|
pkg_check_modules(PC_LIBZMQ QUIET libzmq)
|
|
|
|
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_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq-static.a libzmq.a libzmq.dll.a
|
|
PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS})
|
|
|
|
if(ZeroMQ_LIBRARY OR ZeroMQ_STATIC_LIBRARY)
|
|
set(ZeroMQ_FOUND ON)
|
|
endif()
|
|
|
|
if (TARGET libzmq)
|
|
# avoid errors defining targets twice
|
|
return()
|
|
endif()
|
|
|
|
add_library(libzmq SHARED IMPORTED)
|
|
set_property(TARGET libzmq PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PC_LIBZMQ_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})
|