mirror of
https://github.com/boostorg/beast.git
synced 2025-08-01 05:44:38 +02:00
Add support for modular build structure. (#2905)
* Use beast exclusive valgrind feature. * Make the library modular usable. * Switch to library requirements instead of source. As source puts extra source in install targets. * Add Beast root dir for includes. As some tests refer to files relative to that. * Replace relative docca refs with project based. * Avoid mtuliple openssl configurations. * Always declare openssl. If it's empty and duplicate it will be ignored. * Add missing import-search for cconfig/predef checks. * Add requires-b2 check to top-level build file. * Bump B2 require to 5.2 * Update copyright dates. * Move inter-lib dependencies to a project variable and into the build targets. * Update build deps. * Update build deps. * The http/client/body example uses the source header from json instead of the linked library.
This commit is contained in:
committed by
GitHub
parent
aefc564fa7
commit
2bda7870fe
74
build.jam
Normal file
74
build.jam
Normal file
@@ -0,0 +1,74 @@
|
||||
# Copyright René Ferdinand Rivera Morell 2023-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 ;
|
||||
|
||||
import feature ;
|
||||
|
||||
constant boost_dependencies :
|
||||
/boost/asio//boost_asio
|
||||
/boost/assert//boost_assert
|
||||
/boost/bind//boost_bind
|
||||
/boost/config//boost_config
|
||||
/boost/container//boost_container
|
||||
/boost/container_hash//boost_container_hash
|
||||
/boost/core//boost_core
|
||||
/boost/endian//boost_endian
|
||||
/boost/intrusive//boost_intrusive
|
||||
/boost/logic//boost_logic
|
||||
/boost/mp11//boost_mp11
|
||||
/boost/optional//boost_optional
|
||||
/boost/preprocessor//boost_preprocessor
|
||||
/boost/smart_ptr//boost_smart_ptr
|
||||
/boost/static_assert//boost_static_assert
|
||||
/boost/static_string//boost_static_string
|
||||
/boost/system//boost_system
|
||||
/boost/throw_exception//boost_throw_exception
|
||||
/boost/type_index//boost_type_index
|
||||
/boost/type_traits//boost_type_traits
|
||||
/boost/winapi//boost_winapi ;
|
||||
|
||||
project /boost/beast
|
||||
: common-requirements
|
||||
<include>include
|
||||
;
|
||||
|
||||
explicit
|
||||
[ alias boost_beast : build//boost_beast ]
|
||||
[ alias boost_beast_asio : build//boost_beast_asio ]
|
||||
[ alias boost_beast_asio_ssl : build//boost_beast_asio_ssl ]
|
||||
[ alias all : boost_beast boost_beast_asio boost_beast_asio_ssl example test ]
|
||||
# Old-style targets. Remove once the rest of Beast changes.
|
||||
[ alias lib-beast : boost_beast ]
|
||||
[ alias lib-asio : boost_beast_asio ]
|
||||
[ alias lib-asio-ssl : boost_beast_asio_ssl ]
|
||||
;
|
||||
|
||||
call-if : boost-library beast
|
||||
: install boost_beast boost_beast_asio boost_beast_asio_ssl
|
||||
;
|
||||
|
||||
feature.feature boost.beast.allow-deprecated : on off : propagated ;
|
||||
feature.feature boost.beast.separate-compilation : on off : propagated ;
|
||||
feature.feature boost.beast.valgrind : on off : optional propagated ;
|
||||
|
||||
variant beast_coverage
|
||||
: debug
|
||||
: <cxxflags>"-msse4.2 --coverage"
|
||||
<linkflags>"--coverage"
|
||||
;
|
||||
|
||||
variant beast_valgrind
|
||||
: release
|
||||
: <boost.beast.valgrind>on
|
||||
;
|
||||
|
||||
variant beast_ubasan
|
||||
: release
|
||||
: <cxxflags>"-msse4.2 -funsigned-char -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=address,undefined -fsanitize-blacklist=libs/beast/tools/blacklist.supp"
|
||||
<linkflags>"-fsanitize=address,undefined"
|
||||
<define>BOOST_USE_ASAN=1
|
||||
;
|
||||
|
Reference in New Issue
Block a user