include (LibAddMacros) find_package (ZeroMQ QUIET) if (ZeroMQ_FOUND) try_compile ( CAN_LINK_ZMQ "${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/try_compile_zeromq.c" CMAKE_FLAGS -DINCLUDE_DIRECTORIES:STRING=${ZeroMQ_INCLUDE_DIRS} -DLINK_LIBRARIES:PATH=${ZeroMQ_LIBRARIES}) if (NOT CAN_LINK_ZMQ) message ( WARNING "ZeroMQ I/O adapter disabled since linking against ZeroMQ failed. Targets that depend on this adapter will fail to compile." ) else () set (ADAPTER_OBJECT io-adapter-zeromq) # Build library set (ADAPTER_SRC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/zeromq.c") set (SOURCES ${ADAPTER_SRC_FILES}) add_library (${ADAPTER_OBJECT} OBJECT ${SOURCES}) target_include_directories (${ADAPTER_OBJECT} SYSTEM PUBLIC ${ZeroMQ_INCLUDE_DIRS}) # NOTE CMAKE_POSITION_INDEPENDENT_CODE does not seem to work (e.g. CMake 3.9.2 on Travis) target_compile_options (${ADAPTER_OBJECT} PRIVATE "-fPIC") set_property (TARGET ${ADAPTER_OBJECT} PROPERTY CMAKE_POSITION_INDEPENDENT_CODE ON) endif () endif ()