-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for modular build structure. (#192)
* Make the library modular usable. * Switch to library requirements instead of source. As source puts extra source in install targets. * fix promise & generator operator= * added fno-exceptions support. * added experimental context support. * support for asio::yield_context * Add missing NO_LIB usage requirements. * added noop utility closes #3 * added support for __cpp_sized_deallocation in custom coroutine allocations. (non-apple) clang is weird, as it allowed sized deallocations on coroutine promises even when not enabled otherwise. Since apple does not, this should fix using cobalt on apple. * Add missing import-search for cconfig/predef checks. * Add requires-b2 check to top-level build file. * Update dependencies. * Fix -Wreorder flagging If using -Werror=reorder via some cmake build or otherwise, this gets flagged. * added move support for channels Closes #183 * fixed ctor so any works. Closes #182 * added noinline ot channel functions when compiling for windows. * removed move_only template inst from channel.cpp * Declared test targets with EXCLUDE_FROM_ALL Closes #181. * added generate-diagram option & cache * Cleaned up CML. Closes #135. * Bump B2 require to 5.2 * Move inter-lib dependencies to a project variable and into the build targets. * Move custom features to importable jam. --------- Co-authored-by: Klemens Morgenstern <[email protected]> Co-authored-by: Jonathan Stein <[email protected]>
- Loading branch information
1 parent
b74d61e
commit a0e31a2
Showing
5 changed files
with
80 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Copyright (c) 2023 Klemens D. Morgenstern | ||
# | ||
# 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) | ||
|
||
|
||
import feature ; | ||
|
||
|
||
feature.feature boost.cobalt.pmr : std boost-container custom no : propagated composite ; | ||
feature.compose <boost.cobalt.pmr>std : <define>BOOST_COBALT_USE_STD_PMR=1 ; | ||
feature.compose <boost.cobalt.pmr>boost-container : <define>BOOST_COBALT_USE_BOOST_CONTAINER_PMR=1 ; | ||
feature.compose <boost.cobalt.pmr>custom : <define>BOOST_COBALT_USE_CUSTOM_PMR=1 ; | ||
feature.compose <boost.cobalt.pmr>no : <define>BOOST_COBALT_NO_PMR=1 ; | ||
|
||
feature.feature boost.cobalt.executor : any_io_executor use_io_context custom : propagated composite ; | ||
feature.compose <boost.cobalt.executor>any_io_executor : ; | ||
feature.compose <boost.cobalt.executor>use_io_context : <define>BOOST_COBALT_USE_IO_CONTEXT=1 ; | ||
feature.compose <boost.cobalt.executor>custom_executor : <define>BOOST_COBALT_CUSTOM_EXECUTOR=1 ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Copyright René Ferdinand Rivera Morell 2024 | ||
# 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) | ||
|
||
require-b2 5.2 ; | ||
|
||
constant boost_dependencies : | ||
/boost/asio//boost_asio | ||
/boost/callable_traits//boost_callable_traits | ||
/boost/circular_buffer//boost_circular_buffer | ||
/boost/config//boost_config | ||
/boost/container//boost_container | ||
/boost/context//boost_context | ||
/boost/core//boost_core | ||
/boost/intrusive//boost_intrusive | ||
/boost/leaf//boost_leaf | ||
/boost/mp11//boost_mp11 | ||
/boost/preprocessor//boost_preprocessor | ||
/boost/smart_ptr//boost_smart_ptr | ||
/boost/system//boost_system | ||
/boost/throw_exception//boost_throw_exception | ||
/boost/variant2//boost_variant2 ; | ||
|
||
project /boost/cobalt | ||
: common-requirements | ||
<include>include | ||
; | ||
|
||
explicit | ||
[ alias boost_cobalt : build//boost_cobalt ] | ||
[ alias all : boost_cobalt test example ] | ||
; | ||
|
||
call-if : boost-library cobalt | ||
; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters