Mercurial > irccd
diff libirccd/CMakeLists.txt @ 809:8460b4a34191
misc: reorganize namespaces, closes #952 @4h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 16 Nov 2018 12:25:00 +0100 |
parents | libirccd-core/CMakeLists.txt@2dfba38e93f0 |
children | e29af7701b21 |
line wrap: on
line diff
--- a/libirccd/CMakeLists.txt Thu Nov 15 13:19:17 2018 +0100 +++ b/libirccd/CMakeLists.txt Fri Nov 16 12:25:00 2018 +0100 @@ -18,49 +18,65 @@ project(libirccd) +find_package(Boost 1.60 REQUIRED QUIET COMPONENTS filesystem system) + set( SOURCES - ${libirccd_SOURCE_DIR}/irccd/daemon/command.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/command.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/dynlib_plugin.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/dynlib_plugin.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/irc.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/irc.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/irccd.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/irccd.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/logger.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/logger.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/plugin.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/plugin.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/plugin_service.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/plugin_service.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/rule.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/rule.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/rule_service.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/rule_service.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/rule_util.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/rule_util.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/server.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/server.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/server_service.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/server_service.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/server_util.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/server_util.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_client.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_client.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_server.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_server.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_service.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_service.hpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_util.cpp - ${libirccd_SOURCE_DIR}/irccd/daemon/transport_util.hpp + ${libirccd_SOURCE_DIR}/irccd/acceptor.hpp + ${libirccd_SOURCE_DIR}/irccd/config.cpp + ${libirccd_SOURCE_DIR}/irccd/config.hpp + ${libirccd_SOURCE_DIR}/irccd/connector.hpp + ${libirccd_SOURCE_DIR}/irccd/fs_util.cpp + ${libirccd_SOURCE_DIR}/irccd/fs_util.hpp + ${libirccd_SOURCE_DIR}/irccd/ini.cpp + ${libirccd_SOURCE_DIR}/irccd/ini.hpp + ${libirccd_SOURCE_DIR}/irccd/ini_util.hpp + ${libirccd_SOURCE_DIR}/irccd/json_util.cpp + ${libirccd_SOURCE_DIR}/irccd/json_util.hpp + ${libirccd_SOURCE_DIR}/irccd/options.cpp + ${libirccd_SOURCE_DIR}/irccd/options.hpp + ${libirccd_SOURCE_DIR}/irccd/stream.hpp + ${libirccd_SOURCE_DIR}/irccd/string_util.cpp + ${libirccd_SOURCE_DIR}/irccd/string_util.hpp + ${libirccd_SOURCE_DIR}/irccd/system.cpp + ${libirccd_SOURCE_DIR}/irccd/system.hpp + ${libirccd_SOURCE_DIR}/irccd/xdg.hpp ) +set( + LIBRARIES + ${CMAKE_DL_LIBS} + libjson + Threads::Threads + Boost::filesystem + Boost::system +) + +if (CMAKE_SYSTEM_NAME MATCHES Windows) + list(APPEND LIBRARIES mswsock shlwapi ws2_32) +elseif (CMAKE_SYSTEM_NAME MATCHES "Linux") + # + # Disable epoll in boost until it get fixed: + # https://github.com/boostorg/asio/issues/150 + # + list(APPEND FLAGS "BOOST_ASIO_DISABLE_EPOLL") +elseif (APPLE) + list(APPEND LIBRARIES resolv) +endif () + +if (IRCCD_HAVE_SSL) + list(APPEND LIBRARIES OpenSSL::Crypto OpenSSL::SSL) +endif () + irccd_define_library( TARGET libirccd EXPORT - HEADERS ${libirccd_SOURCE_DIR}/irccd/daemon + FLAGS ${FLAGS} + HEADERS ${libirccd_SOURCE_DIR}/irccd/ SOURCES ${SOURCES} - LIBRARIES libirccd-core - PUBLIC_INCLUDES $<BUILD_INTERFACE:${libirccd_SOURCE_DIR}> + LIBRARIES ${LIBRARIES} + PUBLIC_INCLUDES + $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}> + $<BUILD_INTERFACE:${libirccd_SOURCE_DIR}> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> )