# Generated by `boostdep --cmake asio` # Copyright 2020, 2021 Peter Dimov # Copyright (c) 2025 Christopher M. Kohlhoff (chris at kohlhoff dot com) # Distributed under the Boost Software License, Version 1.0. # https://www.boost.org/LICENSE_1_0.txt cmake_minimum_required(VERSION 3.8...3.20) project(boost_asio VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) # core functionality add_library(boost_asio_core INTERFACE) add_library(Boost::asio_core ALIAS boost_asio_core) target_include_directories(boost_asio_core INTERFACE include) target_link_libraries(boost_asio_core INTERFACE Boost::align Boost::assert Boost::config Boost::system Boost::throw_exception ) target_compile_features(boost_asio_core INTERFACE cxx_std_11) # deadline_timer support add_library(boost_asio_deadline_timer INTERFACE) add_library(Boost::asio_deadline_timer ALIAS boost_asio_deadline_timer) target_include_directories(boost_asio_deadline_timer INTERFACE include) target_link_libraries(boost_asio_deadline_timer INTERFACE Boost::asio_core Boost::date_time ) target_compile_features(boost_asio_deadline_timer INTERFACE cxx_std_11) # spawn (stackful coroutines) support add_library(boost_asio_spawn INTERFACE) add_library(Boost::asio_spawn ALIAS boost_asio_spawn) target_include_directories(boost_asio_spawn INTERFACE include) target_link_libraries(boost_asio_spawn INTERFACE Boost::asio_core Boost::context ) target_compile_features(boost_asio_spawn INTERFACE cxx_std_11) # the works add_library(boost_asio INTERFACE) add_library(Boost::asio ALIAS boost_asio) target_include_directories(boost_asio INTERFACE include) target_link_libraries(boost_asio INTERFACE Boost::asio_core Boost::asio_deadline_timer Boost::asio_spawn ) target_compile_features(boost_asio INTERFACE cxx_std_11) if (BOOST_SUPERPROJECT_VERSION AND NOT CMAKE_VERSION VERSION_LESS 3.13) boost_install( TARGETS boost_asio_core boost_asio_deadline_timer boost_asio_spawn boost_asio VERSION "${BOOST_SUPERPROJECT_VERSION}" HEADER_DIRECTORY include ) endif() if(BUILD_TESTING AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt") add_subdirectory(test) endif()