option(ENABLE_AMQPCPP "Enable AMQP-CPP" ${ENABLE_LIBRARIES}) if (NOT ENABLE_AMQPCPP) message(STATUS "Not using AMQP-CPP") return() endif() if (OS_FREEBSD) message(STATUS "Not using AMQP-CPP because libuv is disabled") return() endif() # can be removed once libuv build on MacOS with GCC is possible if (NOT TARGET ch_contrib::uv) message(STATUS "Not using AMQP-CPP because libuv is disabled") return() endif() set (LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/AMQP-CPP") set (SRCS "${LIBRARY_DIR}/src/array.cpp" "${LIBRARY_DIR}/src/channel.cpp" "${LIBRARY_DIR}/src/channelimpl.cpp" "${LIBRARY_DIR}/src/connectionimpl.cpp" "${LIBRARY_DIR}/src/deferredcancel.cpp" "${LIBRARY_DIR}/src/deferredconfirm.cpp" "${LIBRARY_DIR}/src/deferredconsumer.cpp" "${LIBRARY_DIR}/src/deferredextreceiver.cpp" "${LIBRARY_DIR}/src/deferredget.cpp" "${LIBRARY_DIR}/src/deferredrecall.cpp" "${LIBRARY_DIR}/src/deferredreceiver.cpp" "${LIBRARY_DIR}/src/field.cpp" "${LIBRARY_DIR}/src/flags.cpp" "${LIBRARY_DIR}/src/linux_tcp/openssl.cpp" "${LIBRARY_DIR}/src/linux_tcp/sslerrorprinter.cpp" "${LIBRARY_DIR}/src/linux_tcp/tcpconnection.cpp" "${LIBRARY_DIR}/src/inbuffer.cpp" "${LIBRARY_DIR}/src/receivedframe.cpp" "${LIBRARY_DIR}/src/table.cpp" "${LIBRARY_DIR}/src/watchable.cpp" ) add_library(_amqp-cpp ${SRCS}) target_include_directories (_amqp-cpp SYSTEM BEFORE PUBLIC "${LIBRARY_DIR}/include" "${LIBRARY_DIR}") target_link_libraries (_amqp-cpp PUBLIC OpenSSL::Crypto OpenSSL::SSL ch_contrib::uv) add_library (ch_contrib::amqp_cpp ALIAS _amqp-cpp)