Skip to content

Commit

Permalink
Basic conan integration.
Browse files Browse the repository at this point in the history
  • Loading branch information
aarlt committed Feb 27, 2022
1 parent dc6df34 commit b542d0f
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 68 deletions.
10 changes: 3 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
cmake_minimum_required(VERSION 3.21)

set(vcpkg "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
if (NOT CMAKE_TOOLCHAIN_FILE AND EXISTS "${vcpkg}")
set(CMAKE_TOOLCHAIN_FILE "${vcpkg}"
CACHE FILEPATH "CMake toolchain file")
message(STATUS "vcpkg toolchain found: ${CMAKE_TOOLCHAIN_FILE}")
endif ()

project(autobahn-cpp)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)

set(CMAKE_CXX_STANDARD 20)

option(AUTOBAHN_BUILD_EXAMPLES "Build examples" ON)
Expand Down
55 changes: 16 additions & 39 deletions cmake/Includes/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,27 +1,3 @@
find_package(Threads REQUIRED)
find_package(OpenSSL REQUIRED)

set(Boost_NO_WARN_NEW_VERSIONS ON)
find_package(Boost REQUIRED COMPONENTS program_options filesystem system thread random)

find_package(msgpack CONFIG REQUIRED)
find_package(websocketpp CONFIG REQUIRED)

find_package(PkgConfig REQUIRED)
pkg_check_modules(BOTAN2 botan-2 REQUIRED)

MESSAGE(STATUS "AUTOBAHN_BUILD_EXAMPLES: " ${AUTOBAHN_BUILD_EXAMPLES})
MESSAGE(STATUS "AUTOBAHN_USE_LIBCXX: " ${AUTOBAHN_USE_LIBCXX})
MESSAGE(STATUS "CMAKE_ROOT: " ${CMAKE_ROOT})
MESSAGE(STATUS "CMAKE_INSTALL_PREFIX: " ${CMAKE_INSTALL_PREFIX})
MESSAGE(STATUS "Boost_INCLUDE_DIRS: " ${Boost_INCLUDE_DIRS})
MESSAGE(STATUS "Boost_LIBRARIES: " ${Boost_LIBRARIES})
get_target_property(MSGPACKC_INCLUDE_DIR msgpackc INTERFACE_INCLUDE_DIRECTORIES)
get_target_property(MSGPACKC_LIBRARIES msgpackc IMPORTED_LOCATION_RELEASE)
MESSAGE(STATUS "MSGPACKC_INCLUDE_DIR: " ${MSGPACKC_INCLUDE_DIR})
MESSAGE(STATUS "MSGPACKC_LIBRARIES: " ${MSGPACKC_LIBRARIES})
MESSAGE(STATUS "WEBSOCKETPP_INCLUDE_DIR: " ${WEBSOCKETPP_INCLUDE_DIR})

set(PUBLIC_HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/autobahn/autobahn.hpp
${CMAKE_CURRENT_SOURCE_DIR}/autobahn/boost_config.hpp
Expand Down Expand Up @@ -87,24 +63,25 @@ add_library(autobahn_cpp INTERFACE)

target_include_directories(autobahn_cpp INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
${OPENSSL_INCLUDE_DIR}
${BOTAN2_INCLUDE_DIRS}
${WEBSOCKETPP_INCLUDE_DIR}
${MSGPACKC_INCLUDE_DIR})
CONAN_PKG::openssl
CONAN_PKG::boost
CONAN_PKG::msgpack-cxx
CONAN_PKG::websocketpp
CONAN_PKG::botan
)

target_link_libraries(autobahn_cpp INTERFACE
Boost::boost Boost::thread
websocketpp::websocketpp
msgpackc msgpackc-cxx
OpenSSL::SSL OpenSSL::Crypto
${BOTAN2_LINK_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
${CMAKE_DL_LIBS})
CONAN_PKG::openssl
CONAN_PKG::boost
CONAN_PKG::msgpack-cxx
CONAN_PKG::websocketpp
CONAN_PKG::botan
)

foreach(h ${PUBLIC_HEADERS})
foreach (h ${PUBLIC_HEADERS})
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "include/" include "${h}")
get_filename_component(HEADER_INCLUDE_DIRECTORY ${include} DIRECTORY)
install(FILES ${h}
DESTINATION ${HEADER_INCLUDE_DIRECTORY}
COMPONENT "headers")
endforeach()
DESTINATION ${HEADER_INCLUDE_DIRECTORY}
COMPONENT "headers")
endforeach ()
8 changes: 6 additions & 2 deletions conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ class autobahn_cppConan(ConanFile):
author = "Crossbar.io Technologies GmbH and contributors"
description = "WAMP for C++ on Boost/ASIO"
url = "https://github.com/crossbario/autobahn-cpp"
requires = "boost/1.73.0","msgpack/3.2.1","websocketpp/0.8.2"
generators = "cmake_find_package"
requires = "boost/1.77.0", "msgpack-cxx/4.0.3", "websocketpp/0.8.2", "openssl/3.0.1", "botan/2.19.1"
generators = "cmake"
scm = {
"type": "git",
"subfolder": ".",
Expand All @@ -23,3 +23,7 @@ def package(self):

def package_id(self):
self.info.header_only()

def package_info(self):
self.cpp_info.libs = ["SDL2"]
self.cpp_info.frameworks.extend(["Carbon", "CoreAudio", "Security", "IOKit"])
2 changes: 1 addition & 1 deletion examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
add_library(examples_parameters parameters.cpp parameters.hpp)
target_link_libraries(examples_parameters PRIVATE Boost::boost Boost::thread Boost::program_options)
target_link_libraries(examples_parameters PRIVATE CONAN_PKG::boost)

function(make_example name src)
add_executable(${name} ${src} ${PUBLIC_HEADERS})
Expand Down
1 change: 0 additions & 1 deletion vcpkg
Submodule vcpkg deleted from 5cf601
18 changes: 0 additions & 18 deletions vcpkg.json

This file was deleted.

0 comments on commit b542d0f

Please sign in to comment.