Skip to content

Commit b2781e7

Browse files
committed
Basic conan integration.
1 parent 870819d commit b2781e7

File tree

6 files changed

+23
-68
lines changed

6 files changed

+23
-68
lines changed

CMakeLists.txt

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
cmake_minimum_required(VERSION 3.21)
22

3-
set(vcpkg "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
4-
if (NOT CMAKE_TOOLCHAIN_FILE AND EXISTS "${vcpkg}")
5-
set(CMAKE_TOOLCHAIN_FILE "${vcpkg}"
6-
CACHE FILEPATH "CMake toolchain file")
7-
message(STATUS "vcpkg toolchain found: ${CMAKE_TOOLCHAIN_FILE}")
8-
endif ()
9-
103
project(autobahn-cpp)
114

5+
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
6+
conan_basic_setup(TARGETS)
7+
128
set(CMAKE_CXX_STANDARD 20)
139

1410
option(AUTOBAHN_BUILD_EXAMPLES "Build examples" ON)

cmake/Includes/CMakeLists.txt

Lines changed: 16 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,3 @@
1-
find_package(Threads REQUIRED)
2-
find_package(OpenSSL REQUIRED)
3-
4-
set(Boost_NO_WARN_NEW_VERSIONS ON)
5-
find_package(Boost REQUIRED COMPONENTS program_options filesystem system thread random)
6-
7-
find_package(msgpack CONFIG REQUIRED)
8-
find_package(websocketpp CONFIG REQUIRED)
9-
10-
find_package(PkgConfig REQUIRED)
11-
pkg_check_modules(BOTAN2 botan-2 REQUIRED)
12-
13-
MESSAGE(STATUS "AUTOBAHN_BUILD_EXAMPLES: " ${AUTOBAHN_BUILD_EXAMPLES})
14-
MESSAGE(STATUS "AUTOBAHN_USE_LIBCXX: " ${AUTOBAHN_USE_LIBCXX})
15-
MESSAGE(STATUS "CMAKE_ROOT: " ${CMAKE_ROOT})
16-
MESSAGE(STATUS "CMAKE_INSTALL_PREFIX: " ${CMAKE_INSTALL_PREFIX})
17-
MESSAGE(STATUS "Boost_INCLUDE_DIRS: " ${Boost_INCLUDE_DIRS})
18-
MESSAGE(STATUS "Boost_LIBRARIES: " ${Boost_LIBRARIES})
19-
get_target_property(MSGPACKC_INCLUDE_DIR msgpackc INTERFACE_INCLUDE_DIRECTORIES)
20-
get_target_property(MSGPACKC_LIBRARIES msgpackc IMPORTED_LOCATION_RELEASE)
21-
MESSAGE(STATUS "MSGPACKC_INCLUDE_DIR: " ${MSGPACKC_INCLUDE_DIR})
22-
MESSAGE(STATUS "MSGPACKC_LIBRARIES: " ${MSGPACKC_LIBRARIES})
23-
MESSAGE(STATUS "WEBSOCKETPP_INCLUDE_DIR: " ${WEBSOCKETPP_INCLUDE_DIR})
24-
251
set(PUBLIC_HEADERS
262
${CMAKE_CURRENT_SOURCE_DIR}/autobahn/autobahn.hpp
273
${CMAKE_CURRENT_SOURCE_DIR}/autobahn/boost_config.hpp
@@ -87,24 +63,25 @@ add_library(autobahn_cpp INTERFACE)
8763

8864
target_include_directories(autobahn_cpp INTERFACE
8965
${CMAKE_CURRENT_SOURCE_DIR}
90-
${OPENSSL_INCLUDE_DIR}
91-
${BOTAN2_INCLUDE_DIRS}
92-
${WEBSOCKETPP_INCLUDE_DIR}
93-
${MSGPACKC_INCLUDE_DIR})
66+
CONAN_PKG::openssl
67+
CONAN_PKG::boost
68+
CONAN_PKG::msgpack-cxx
69+
CONAN_PKG::websocketpp
70+
CONAN_PKG::botan
71+
)
9472

9573
target_link_libraries(autobahn_cpp INTERFACE
96-
Boost::boost Boost::thread
97-
websocketpp::websocketpp
98-
msgpackc msgpackc-cxx
99-
OpenSSL::SSL OpenSSL::Crypto
100-
${BOTAN2_LINK_LIBRARIES}
101-
${CMAKE_THREAD_LIBS_INIT}
102-
${CMAKE_DL_LIBS})
74+
CONAN_PKG::openssl
75+
CONAN_PKG::boost
76+
CONAN_PKG::msgpack-cxx
77+
CONAN_PKG::websocketpp
78+
CONAN_PKG::botan
79+
)
10380

104-
foreach(h ${PUBLIC_HEADERS})
81+
foreach (h ${PUBLIC_HEADERS})
10582
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "include/" include "${h}")
10683
get_filename_component(HEADER_INCLUDE_DIRECTORY ${include} DIRECTORY)
10784
install(FILES ${h}
108-
DESTINATION ${HEADER_INCLUDE_DIRECTORY}
109-
COMPONENT "headers")
110-
endforeach()
85+
DESTINATION ${HEADER_INCLUDE_DIRECTORY}
86+
COMPONENT "headers")
87+
endforeach ()

conanfile.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ class autobahn_cppConan(ConanFile):
77
author = "Crossbar.io Technologies GmbH and contributors"
88
description = "WAMP for C++ on Boost/ASIO"
99
url = "https://github.com/crossbario/autobahn-cpp"
10-
requires = "boost/1.73.0","msgpack/3.2.1","websocketpp/0.8.2"
11-
generators = "cmake_find_package"
10+
requires = "boost/1.77.0", "msgpack-cxx/4.0.3", "websocketpp/0.8.2", "openssl/3.0.1", "botan/2.19.1"
11+
generators = "cmake"
1212
scm = {
1313
"type": "git",
1414
"subfolder": ".",
@@ -23,3 +23,4 @@ def package(self):
2323

2424
def package_id(self):
2525
self.info.header_only()
26+

examples/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
add_library(examples_parameters parameters.cpp parameters.hpp)
2-
target_link_libraries(examples_parameters PRIVATE Boost::boost Boost::thread Boost::program_options)
2+
target_link_libraries(examples_parameters PRIVATE CONAN_PKG::boost)
33

44
function(make_example name src)
55
add_executable(${name} ${src} ${PUBLIC_HEADERS})

vcpkg

Submodule vcpkg deleted from 5cf6018

vcpkg.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)