diff --git a/CMakeLists.txt b/CMakeLists.txt index e3aa06f..35669c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/cmake/Includes/CMakeLists.txt b/cmake/Includes/CMakeLists.txt index 3073b45..86c0405 100644 --- a/cmake/Includes/CMakeLists.txt +++ b/cmake/Includes/CMakeLists.txt @@ -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 @@ -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 () diff --git a/conanfile.py b/conanfile.py index ce0ba84..3d57a7c 100644 --- a/conanfile.py +++ b/conanfile.py @@ -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": ".", @@ -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"]) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 6bf9789..27a8493 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -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}) diff --git a/vcpkg b/vcpkg deleted file mode 160000 index 5cf6018..0000000 --- a/vcpkg +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5cf60186a241e84e8232641ee973395d4fde90e1 diff --git a/vcpkg.json b/vcpkg.json deleted file mode 100644 index 9eacde4..0000000 --- a/vcpkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "autobahn", - "version-string": "0.0.1", - "port-version": 1, - "description": "WAMP for C++ in Boost/Asio", - "homepage": "https://crossbar.io/autobahn", - "dependencies": [ - "boost-filesystem", - "boost-program-options", - "boost-random", - "boost-asio", - "boost-thread", - "botan", - "msgpack", - "openssl", - "websocketpp" - ] -}