2
0
mirror of https://github.com/boostorg/cobalt.git synced 2026-01-22 05:02:14 +00:00
Files
cobalt/example/Jamfile
René Ferdinand Rivera Morell a0e31a297a 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 <klemens.d.morgenstern@gmail.com>
Co-authored-by: Jonathan Stein <Jonathan.Stein@mavensecurities.com>
2024-08-26 20:05:54 +08:00

31 lines
1.2 KiB
Plaintext

# Copyright (c) 2022 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 os ;
import-search /boost/cobalt ;
import boost-cobalt ;
project : requirements
<define>BOOST_ASIO_NO_DEPRECATED
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
<toolset>msvc:<cxxflags>/bigobj
<target-os>windows:<define>WIN32_LEAN_AND_MEAN
<target-os>linux:<linkflags>-lpthread
<toolset>clang-15:<boost.cobalt.pmr>boost-container
<toolset>clang-14:<boost.cobalt.pmr>boost-container
;
exe channel : channel.cpp /boost/cobalt//boost_cobalt ;
exe delay : delay.cpp /boost/cobalt//boost_cobalt ;
exe delay_op : delay_op.cpp /boost/cobalt//boost_cobalt ;
exe echo_server : echo_server.cpp /boost/cobalt//boost_cobalt ;
exe outcome : outcome.cpp /boost/cobalt//boost_cobalt /boost/outcome//boost_outcome ;
exe thread : thread.cpp /boost/cobalt//boost_cobalt ;
exe thread_pool : thread_pool.cpp /boost/cobalt//boost_cobalt ;
# exe ticker : ticker.cpp /boost/cobalt//boost_cobalt /boost/json//boost_json ;