From 4eb4f8794991df946022335c5a5f1716877553ec Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 17 Oct 2023 17:59:50 +0200 Subject: [PATCH 1/3] Don't add C++ requiredment in test CML --- test/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d9cf0fee..7c5736eb 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -19,7 +19,6 @@ target_link_libraries(boost_cobalt_basic_tests Boost::cobalt) add_test(NAME boost_cobalt_main COMMAND boost_cobalt_main) add_test(NAME boost_cobalt_basic_tests COMMAND boost_cobalt_basic_tests) -target_compile_features(boost_cobalt PUBLIC cxx_std_20) add_dependencies(tests boost_cobalt_main boost_cobalt_basic_tests boost_cobalt_static_tests) From 67cb0fb71799a906fbd4c424a17afb48bfc22621 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Tue, 17 Oct 2023 18:12:24 +0200 Subject: [PATCH 2/3] Cleanup CMakeLists.txt and fix `option`-issues `option` does nothing when the variable is already set. Also remove some redundancies (especially checks for BOOST_COBALT_IS_ROOT and BOOST_SUPERPROJECT_VERSION inside the "BOOST_COBALT_IS_ROOT"-branch) --- CMakeLists.txt | 51 +++++++++++++++++--------------------------------- 1 file changed, 17 insertions(+), 34 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9aeff8d6..3b02ed64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,8 @@ +# Copyright 2020-2023 Peter Dimov +# Copyright 2023 Alexander Grund +# Distributed under the Boost Software License, Version 1.0. +# https://www.boost.org/LICENSE_1_0.txt + cmake_minimum_required(VERSION 3.12...3.20) if(BOOST_SUPERPROJECT_VERSION) @@ -11,23 +16,15 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) set(BOOST_COBALT_IS_ROOT ON) endif() -set(BOOST_COBALT_SHOULD_USE_CONTAINER OFF) +set(BOOST_COBALT_USE_BOOST_CONTAINER_DEF OFF) if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CLANG_VERSION_MAJOR LESS 16) - set(BOOST_COBALT_SHOULD_USE_CONTAINER ON) + set(BOOST_COBALT_USE_BOOST_CONTAINER_DEF ON) endif() -option(BOOST_COBALT_USE_BOOST_CONTAINER "Use boost.container instead of std::pmr" ${BOOST_COBALT_SHOULD_USE_CONTAINER}) +option(BOOST_COBALT_USE_BOOST_CONTAINER "Use boost.container instead of std::pmr" ${BOOST_COBALT_USE_BOOST_CONTAINER_DEF}) if (NOT BOOST_COBALT_IS_ROOT) - # Generated by `boostdep --cmake cobalt` - # Copyright 2020, 2021 Peter Dimov - # Distributed under the Boost Software License, Version 1.0. - # https://www.boost.org/LICENSE_1_0.txt - - # 12 for cxx_std_20 - - project(boost_cobalt VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX) add_library(boost_cobalt src/channel.cpp @@ -46,7 +43,6 @@ if (NOT BOOST_COBALT_IS_ROOT) Boost::asio Boost::circular_buffer Boost::config - Boost::container Boost::core Boost::intrusive Boost::leaf @@ -79,13 +75,7 @@ if (NOT BOOST_COBALT_IS_ROOT) add_subdirectory(test) endif() else() - if(BOOST_SUPERPROJECT_VERSION) - set(BOOST_COBALT_SHOULD_BE_INLINE ON) - else() - set(BOOST_COBALT_SHOULD_BE_INLINE OFF) - endif() - - option(BOOST_COBALT_BUILD_INLINE "Configure as if part of the boost source tree" ${BOOST_COBALT_SHOULD_BE_INLINE}) + option(BOOST_COBALT_BUILD_INLINE "Configure as if part of the boost source tree" OFF) file(GLOB_RECURSE ADOC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.adoc) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doc/index.html @@ -95,25 +85,19 @@ else() add_custom_target(boost_cobalt_doc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doc/index.html) - if(BOOST_COBALT_IS_ROOT) - #include(CTest) - endif() - if(NOT BOOST_SUPERPROJECT_VERSION) - option(BOOST_COBALT_INSTALL "Install boost::cobalt files" ON) - option(BOOST_COBALT_BUILD_TESTS "Build boost::cobalt tests" ${BUILD_TESTING}) - option(BOOST_COBALT_BUILD_EXAMPLES "Build boost::cobalt examples" ${BOOST_COBALT_IS_ROOT}) - option(BOOST_COBALT_BUILD_BENCHMARKS "Build boost::cobalt benchmarks" OFF) - else() - set(BOOST_COBALT_BUILD_TESTS ${BUILD_TESTING}) - endif() + include(CTest) + option(BOOST_COBALT_INSTALL "Install boost::cobalt files" ON) + option(BOOST_COBALT_BUILD_TESTS "Build boost::cobalt tests" ${BUILD_TESTING}) + option(BOOST_COBALT_BUILD_EXAMPLES "Build boost::cobalt examples" ON) + option(BOOST_COBALT_BUILD_BENCHMARKS "Build boost::cobalt benchmarks" OFF) - if(BOOST_COBALT_IS_ROOT AND BOOST_COBALT_BUILD_INLINE) + if(BOOST_COBALT_BUILD_INLINE) # # Building inside Boost tree, but as a separate project e.g. on Travis or # other CI, or when producing Visual Studio Solution and Projects. - set(BOOST_INCLUDE_LIBRARIES COBALT) - set(BOOST_EXCLUDE_LIBRARIES COBALT) + set(BOOST_INCLUDE_LIBRARIES cobalt) + set(BOOST_EXCLUDE_LIBRARIES cobalt) set(CMAKE_FOLDER _deps) add_subdirectory(../.. _deps/boost EXCLUDE_FROM_ALL) @@ -127,7 +111,6 @@ else() if (BOOST_COBALT_USE_BOOST_CONTAINER) find_package(Boost REQUIRED container) endif() - include_directories(include) endif() add_library(boost_cobalt From 487b692798e49f2d980fe6db109d1686797705aa Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Fri, 31 May 2024 10:31:11 +0200 Subject: [PATCH 3/3] CML: Remove unecessary changes --- CMakeLists.txt | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 49d9b651..7d3231f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,5 @@ -# Copyright 2020-2023 Peter Dimov -# Copyright 2023 Alexander Grund # Copyright (c) 2023 Klemens D. Morgenstern +# Copyright (c) 2024 Alexander Grund # # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -27,6 +26,10 @@ endif() option(BOOST_COBALT_USE_BOOST_CONTAINER "Boost.Cobalt: Use boost.container instead of std::pmr" ${BOOST_COBALT_SHOULD_USE_CONTAINER}) if (NOT BOOST_COBALT_IS_ROOT) + # Generated by `boostdep --cmake cobalt` + # Copyright 2020, 2021 Peter Dimov + # Distributed under the Boost Software License, Version 1.0. + # https://www.boost.org/LICENSE_1_0.txt add_library(boost_cobalt src/detail/exception.cpp @@ -70,7 +73,9 @@ if (NOT BOOST_COBALT_IS_ROOT) endif() if (BOOST_COBALT_USE_BOOST_CONTAINER) - target_link_libraries(boost_cobalt PUBLIC Boost::container) + target_link_libraries(boost_cobalt PUBLIC + Boost::container + ) target_compile_definitions(boost_cobalt PUBLIC BOOST_COBALT_USE_BOOST_CONTAINER_PMR=1 ) endif() @@ -103,13 +108,19 @@ else() add_custom_target(boost_cobalt_doc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doc/index.html) - include(CTest) - option(BOOST_COBALT_INSTALL "Install boost::cobalt files" ON) - option(BOOST_COBALT_BUILD_TESTS "Build boost::cobalt tests" ${BUILD_TESTING}) - option(BOOST_COBALT_BUILD_EXAMPLES "Build boost::cobalt examples" ON) - option(BOOST_COBALT_BUILD_BENCHMARKS "Build boost::cobalt benchmarks" OFF) + if(BOOST_COBALT_IS_ROOT) + #include(CTest) + endif() + if(NOT BOOST_SUPERPROJECT_VERSION) + option(BOOST_COBALT_INSTALL "Install boost::cobalt files" ON) + option(BOOST_COBALT_BUILD_TESTS "Build boost::cobalt tests" ${BUILD_TESTING}) + option(BOOST_COBALT_BUILD_EXAMPLES "Build boost::cobalt examples" ${BOOST_COBALT_IS_ROOT}) + option(BOOST_COBALT_BUILD_BENCHMARKS "Build boost::cobalt benchmarks" OFF) + else() + set(BOOST_COBALT_BUILD_TESTS ${BUILD_TESTING}) + endif() - if(BOOST_COBALT_BUILD_INLINE) + if(BOOST_COBALT_IS_ROOT AND BOOST_COBALT_BUILD_INLINE) # # Building inside Boost tree, but as a separate project e.g. on Travis or # other CI, or when producing Visual Studio Solution and Projects. @@ -181,4 +192,3 @@ else() add_subdirectory(bench) endif() endif() -