Refactor Jamfiles to work with release layout

This commit is contained in:
Vinnie Falco
2019-03-24 08:01:37 -07:00
parent 4e82719640
commit 61fcd9ef6f
62 changed files with 193 additions and 195 deletions

View File

@ -1,3 +1,9 @@
Version 238:
* Refactor Jamfiles to work with release layout
--------------------------------------------------------------------------------
Version 237: Version 237:
* cmake: Use static libs to speed up builds * cmake: Use static libs to speed up builds

View File

@ -173,7 +173,7 @@ endif()
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
add_definitions (-DBOOST_ASIO_SEPARATE_COMPILATION=1) add_definitions (-DBOOST_ASIO_SEPARATE_COMPILATION=1)
add_definitions (-DBOOST_BEAST_SPLIT_COMPILATION=1) add_definitions (-DBOOST_BEAST_SEPARATE_COMPILATION=1)
GroupSources (test "/") GroupSources (test "/")

30
Jamfile
View File

@ -64,13 +64,13 @@ local defines =
<implicit-dependency>/boost//headers <implicit-dependency>/boost//headers
<include>. <include>.
<define>BOOST_ALL_NO_LIB=1 <define>BOOST_ALL_NO_LIB=1
<define>BOOST_BEAST_SPLIT_COMPILATION
<define>BOOST_ASIO_SEPARATE_COMPILATION <define>BOOST_ASIO_SEPARATE_COMPILATION
<define>BOOST_ASIO_NO_DEPRECATED=1 <define>BOOST_ASIO_NO_DEPRECATED=1
<define>BOOST_ASIO_DISABLE_BOOST_ARRAY=1 <define>BOOST_ASIO_DISABLE_BOOST_ARRAY=1
<define>BOOST_ASIO_DISABLE_BOOST_BIND=1 <define>BOOST_ASIO_DISABLE_BOOST_BIND=1
<define>BOOST_ASIO_DISABLE_BOOST_DATE_TIME=1 <define>BOOST_ASIO_DISABLE_BOOST_DATE_TIME=1
<define>BOOST_ASIO_DISABLE_BOOST_REGEX=1 <define>BOOST_ASIO_DISABLE_BOOST_REGEX=1
<define>BOOST_BEAST_SEPARATE_COMPILATION
<define>BOOST_COROUTINES_NO_DEPRECATION_WARNING=1 <define>BOOST_COROUTINES_NO_DEPRECATION_WARNING=1
<toolset>msvc:<cxxflags>"/bigobj" <toolset>msvc:<cxxflags>"/bigobj"
<toolset>msvc-14.1:<cxxflags>"/permissive-" <toolset>msvc-14.1:<cxxflags>"/permissive-"
@ -96,21 +96,31 @@ local defines =
<target-os>haiku:<library>network <target-os>haiku:<library>network
; ;
lib static_beast lib lib-asio
: test/_lib_beast.cpp : test/lib_asio.cpp
: requirements : requirements
$(defines) <link>static
<include>./test/extras/include $(defines)
: usage-requirements : usage-requirements
$(defines) $(defines)
<include>./test/extras/include
; ;
lib static_ssl_asio lib lib-asio-ssl
: test/_lib_ssl.cpp : test/lib_asio_ssl.cpp
: requirements : requirements
<library>/boost/beast//static_beast/<link>static <link>static
$(defines)
[ ac.check-library /boost/beast//ssl : <library>/boost/beast//ssl/<link>shared : <build>no ] [ ac.check-library /boost/beast//ssl : <library>/boost/beast//ssl/<link>shared : <build>no ]
[ ac.check-library /boost/beast//crypto : <library>/boost/beast//crypto/<link>shared : <build>no ] [ ac.check-library /boost/beast//crypto : <library>/boost/beast//crypto/<link>shared : <build>no ]
: usage-requirements : usage-requirements
$(defines)
;
lib lib-beast
: test/lib_beast.cpp
: requirements
<link>static
$(defines)
: usage-requirements
$(defines)
; ;

View File

@ -11,59 +11,6 @@
[/-----------------------------------------------------------------------------] [/-----------------------------------------------------------------------------]
[/
* [phrase library..[@/libs/beast/ Beast]:]
'''<emphasis role="bold"><emphasis role="red">BIG Update!!!</emphasis></emphasis>''' The
[@/libs/beast/doc/html/beast/quickref.html reference]
shows a star '''<emphasis role="green">&#9733;</emphasis>''' next to each new item.
* Beast needs your help!
* [@https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast Tell Us]
how you or your company use Beast
* Please
[@https://github.com/boostorg/beast/issues/new report]
any bugs, feature requests, or general feedback
* Join the [@https://cppalliance.org/slack/ [*C++ Slack Workspace]] for
free and chat with us in the #beast and #boost channels
* Don't forget to [@https://github.com/boostorg/beast star the repository] \u2b50!
* More tutorials, code like the pros!
* [@/libs/beast/doc/html/beast/using_asio/asio_refresher.html Networking Refresher]
teaches you from the ground up.
* Updated [@/libs/beast/doc/html/beast/using_io/writing_composed_operations/echo.html Asynchronous Echo] example
* Updated [@/libs/beast/doc/html/beast/using_io/writing_composed_operations/detect_ssl.html [*Detect SSL]] composed operation tutorial
* [@/libs/beast/example/websocket/server/chat-multi websocket-chat-multi]
threaded chat server with a JavaScript
[@/libs/beast/example/websocket/server/chat-multi/chat_client.html browser client]
* [@/libs/beast/doc/html/beast/ref/boost__beast__basic_stream.html `basic_stream`] and
[@/libs/beast/doc/html/beast/ref/boost__beast__tcp_stream.html `tcp_stream`] offer:
* Timeouts: `async_read_some`, `async_write_some` complete with
[@/libs/beast/doc/html/beast/ref/boost__beast__error.html `error::timeout`] on expiration!
* Traffic-shaping policies
[@/libs/beast/doc/html/beast/ref/boost__beast__simple_rate_policy.html `simple`] and
[@/libs/beast/doc/html/beast/ref/boost__beast__unlimited_rate_policy.html `unlimited`],
or a user-defined
[@/libs/beast/doc/html/beast/concepts/RatePolicy.html ['RatePolicy]]!
* Put the strand directly on the socket using
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html P1322R0],
no more `bind_executor` at call sites!
* Base classes
[@/libs/beast/doc/html/beast/ref/boost__beast__async_base.html `async_base`] and
[@/libs/beast/doc/html/beast/ref/boost__beast__stable_async_base.html `stable_async_base`] and
handle all composed operation boilerplate for you.
* [@/libs/beast/doc/html/beast/ref/boost__beast__ssl_stream.html `ssl_stream`] provides a
movable, assignable SSL stream with a flat write optimization.
* All asynchronous operations use Asio's `async_initiate` for efficient integration with Coroutines TS.
* \u26a1 [*['faster compilation]], define `BOOST_BEAST_SPLIT_COMPILATION` and
`#include <`[@/libs/beast/include/boost/beast/src.hpp `boost/beast/src.hpp`]`>`
in one of your .cpp files!
* See the full
[@/libs/beast/doc/html/beast/release_notes.html Release Notes]
for a complete list of changes.
]
[/-----------------------------------------------------------------------------]
[heading Boost 1.70] [heading Boost 1.70]
[tip [tip

View File

@ -7,6 +7,23 @@
# Official repository: https://github.com/boostorg/beast # Official repository: https://github.com/boostorg/beast
# #
import testing ;
import ../../config/checks/config : requires ;
project /boost/beast/example
: requirements
[ requires
cxx11_constexpr
cxx11_decltype
cxx11_hdr_tuple
#cxx11_sfinae_expr # Every MSVC fails this
cxx11_template_aliases
cxx11_variadic_templates
]
<library>/boost/beast//lib-asio/<link>static
<library>/boost/beast//lib-beast/<link>static
;
build-project advanced ; build-project advanced ;
build-project http ; build-project http ;
build-project websocket ; build-project websocket ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe advanced-server-flex : exe advanced-server-flex :

View File

@ -12,5 +12,4 @@ exe advanced-server :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -12,5 +12,4 @@ exe echo-op :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-client-async-ssl : exe http-client-async-ssl :

View File

@ -12,5 +12,4 @@ exe http-client-async :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-client-coro-ssl : exe http-client-coro-ssl :

View File

@ -12,6 +12,5 @@ exe http-client-coro :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -13,5 +13,4 @@ exe http-crawl :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-client-sync-ssl : exe http-client-sync-ssl :

View File

@ -12,5 +12,4 @@ exe http-client-sync :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-server-async-ssl : exe http-server-async-ssl :

View File

@ -12,5 +12,4 @@ exe http-server-async :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-server-coro-ssl : exe http-server-coro-ssl :

View File

@ -12,6 +12,5 @@ exe http-server-coro :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -7,15 +7,10 @@
# Official repository: https://github.com/boostorg/beast # Official repository: https://github.com/boostorg/beast
# #
# VFALCO _GLIBCXX_USE_CXX11_ABI is to work around
# a bug in libg++8 where it attempts to default-construct
# the allocator (even when it is not default constructible)
exe http-server-fast : exe http-server-fast :
http_server_fast.cpp http_server_fast.cpp
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-server-flex : exe http-server-flex :

View File

@ -12,5 +12,4 @@ exe http-server-small :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-server-stackless-ssl : exe http-server-stackless-ssl :

View File

@ -12,5 +12,4 @@ exe http-server-stackless :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe http-server-sync-ssl : exe http-server-sync-ssl :

View File

@ -12,5 +12,4 @@ exe http-server-sync :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-client-async-ssl : exe websocket-client-async-ssl :

View File

@ -12,5 +12,4 @@ exe websocket-client-async :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-client-coro-ssl : exe websocket-client-coro-ssl :

View File

@ -12,6 +12,5 @@ exe websocket-client-coro :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-client-sync-ssl : exe websocket-client-sync-ssl :

View File

@ -12,5 +12,4 @@ exe websocket-client-sync :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-server-async-ssl : exe websocket-server-async-ssl :

View File

@ -12,5 +12,4 @@ exe websocket-server-async :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -16,5 +16,4 @@ exe websocket-chat-multi :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-server-coro-ssl : exe websocket-server-coro-ssl :

View File

@ -12,6 +12,5 @@ exe websocket-server-coro :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -12,6 +12,5 @@ exe websocket-server-fast :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-server-stackless-ssl : exe websocket-server-stackless-ssl :

View File

@ -12,5 +12,4 @@ exe websocket-server-stackless :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -11,7 +11,7 @@ import ac ;
project project
: requirements : requirements
[ ac.check-library /boost/beast//static_ssl_asio : <library>/boost/beast//static_ssl_asio/<link>static : <build>no ] [ ac.check-library /boost/beast//lib-asio-ssl : <library>/boost/beast//lib-asio-ssl/<link>static : <build>no ]
; ;
exe websocket-server-sync-ssl : exe websocket-server-sync-ssl :

View File

@ -12,5 +12,4 @@ exe websocket-server-sync :
: :
<variant>coverage:<build>no <variant>coverage:<build>no
<variant>ubasan:<build>no <variant>ubasan:<build>no
<library>/boost/beast//static_beast/<link>static
; ;

View File

@ -68,9 +68,9 @@ namespace net = boost::asio;
#endif #endif
// Default to a header-only implementation. The user must specifically // Default to a header-only implementation. The user must specifically
// request separate compilation by defining BOOST_BEAST_SPLIT_COMPILATION // request separate compilation by defining BOOST_BEAST_SEPARATE_COMPILATION
#ifndef BOOST_BEAST_HEADER_ONLY #ifndef BOOST_BEAST_HEADER_ONLY
# ifndef BOOST_BEAST_SPLIT_COMPILATION # ifndef BOOST_BEAST_SEPARATE_COMPILATION
# define BOOST_BEAST_HEADER_ONLY 1 # define BOOST_BEAST_HEADER_ONLY 1
# endif # endif
#endif #endif

View File

@ -13,7 +13,7 @@
/* /*
This file is meant to be included once, in a translation unit of This file is meant to be included once, in a translation unit of
the program, with the macro BOOST_BEAST_SPLIT_COMPILATION defined. the program, with the macro BOOST_BEAST_SEPARATE_COMPILATION defined.
*/ */

View File

@ -49,15 +49,11 @@ GroupSources (. "/")
add_library ( add_library (
lib-test STATIC lib-test STATIC
${PROJECT_SOURCE_DIR}/include/boost/beast/_experimental/unit_test/main.cpp ${CMAKE_CURRENT_LIST_DIR}/lib_test.cpp
) )
set_property(TARGET lib-test PROPERTY FOLDER "static-libs") set_property(TARGET lib-test PROPERTY FOLDER "static-libs")
add_definitions (-DBOOST_BEAST_INCLUDE_TEST_MAIN)
add_definitions (-DBOOST_ASIO_SEPARATE_COMPILATION)
add_definitions (-DBOOST_BEAST_SPLIT_COMPILATION)
add_subdirectory (beast) add_subdirectory (beast)
add_subdirectory (bench) add_subdirectory (bench)
add_subdirectory (doc) add_subdirectory (doc)

View File

@ -10,10 +10,14 @@
import testing ; import testing ;
import ../../config/checks/config : requires ; import ../../config/checks/config : requires ;
lib test_main lib lib-test
: $(TEST_MAIN) : lib_test.cpp
: requirements : requirements
<link>static
$(defines)
: usage-requirements
<include>./extras/include
$(defines)
; ;
project /boost/beast/test project /boost/beast/test
@ -22,15 +26,15 @@ project /boost/beast/test
cxx11_constexpr cxx11_constexpr
cxx11_decltype cxx11_decltype
cxx11_hdr_tuple cxx11_hdr_tuple
# cxx11_sfinae_expr # Every MSVC fails this #cxx11_sfinae_expr # Every MSVC fails this
cxx11_template_aliases cxx11_template_aliases
cxx11_variadic_templates cxx11_variadic_templates
] ]
<include>./extern <include>./extern
<define>BOOST_BEAST_ALLOW_DEPRECATED <define>BOOST_BEAST_ALLOW_DEPRECATED
<define>BOOST_BEAST_TESTS <define>BOOST_BEAST_TESTS
<library>/boost/beast//static_ssl_asio/<link>static <library>/boost/beast//lib-asio/<link>static
<library>/boost/beast/test//test_main/<link>static <library>/boost/beast//lib-beast/<link>static
<library>/boost/filesystem//boost_filesystem <library>/boost/filesystem//boost_filesystem
<library>/boost/coroutine//boost_coroutine <library>/boost/coroutine//boost_coroutine
; ;

View File

@ -1,22 +0,0 @@
//
// Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
//
// 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)
//
// Official repository: https://github.com/boostorg/beast
//
// This file is used to build a static library with
// asio and beast definitions, to reduce compilation time.
// BOOST_ASIO_SEPARATE_COMPILATION for asio
#include <boost/asio/impl/src.hpp>
// BOOST_BEAST_SPLIT_COMPILATION for beast
#include <boost/beast/src.hpp>
//#include <boost/beast/ssl/impl/src.hpp>
#ifdef BOOST_BEAST_INCLUDE_TEST_MAIN
#include <boost/beast/_experimental/unit_test/main.cpp>
#endif

View File

@ -17,15 +17,22 @@ local RUN_TESTS ;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ run $(f) ] ; RUN_TESTS += [ run $(f)
/boost/beast/test//lib-test
] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
exe fat-tests : $(SOURCES) ; exe fat-tests :
$(SOURCES)
/boost/beast/test//lib-test
;
explicit fat-tests ; explicit fat-tests ;
run $(SOURCES) : : : : run-fat-tests ; run $(SOURCES)
/boost/beast/test//lib-test
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -61,15 +61,22 @@ local RUN_TESTS ;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ run $(f) ] ; RUN_TESTS += [ run $(f)
/boost/beast/test//lib-test
] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
exe fat-tests : $(SOURCES) ; exe fat-tests :
$(SOURCES)
/boost/beast/test//lib-test
;
explicit fat-tests ; explicit fat-tests ;
run $(SOURCES) : : : : run-fat-tests ; run $(SOURCES)
/boost/beast/test//lib-test
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -36,15 +36,22 @@ local RUN_TESTS ;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ run $(f) ] ; RUN_TESTS += [ run $(f)
/boost/beast/test//lib-test
] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
exe fat-tests : $(SOURCES) ; exe fat-tests :
$(SOURCES)
/boost/beast/test//lib-test
;
explicit fat-tests ; explicit fat-tests ;
run $(SOURCES) : : : : run-fat-tests ; run $(SOURCES)
/boost/beast/test//lib-test
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -15,15 +15,26 @@ local RUN_TESTS ;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ run $(f) ] ; RUN_TESTS += [ run $(f)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
exe fat-tests : $(SOURCES) ; exe fat-tests
:
$(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
;
explicit fat-tests ; explicit fat-tests ;
run $(SOURCES) : : : : run-fat-tests ; run $(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -37,15 +37,26 @@ local RUN_TESTS ;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ run $(f) ] ; RUN_TESTS += [ run $(f)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
exe fat-tests : $(SOURCES) ; exe fat-tests
:
$(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
;
explicit fat-tests ; explicit fat-tests ;
run $(SOURCES) : : : : run-fat-tests ; run $(SOURCES)
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -18,15 +18,27 @@ local RUN_TESTS ;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ run $(f) $(ZLIB_SOURCES) ] ; RUN_TESTS += [ run $(f)
$(ZLIB_SOURCES)
/boost/beast/test//lib-test
] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
exe fat-tests : $(ZLIB_SOURCES) $(SOURCES) ; exe fat-tests
:
$(ZLIB_SOURCES)
$(SOURCES)
/boost/beast/test//lib-test
;
explicit fat-tests ; explicit fat-tests ;
run $(ZLIB_SOURCES) $(SOURCES) : : : : run-fat-tests ; run
$(ZLIB_SOURCES)
$(SOURCES)
/boost/beast/test//lib-test
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -12,5 +12,5 @@ alias run-tests :
parser//run-tests parser//run-tests
wsload//run-tests wsload//run-tests
utf8_checker//run-tests utf8_checker//run-tests
#zlib//run-tests # Not built #zlib//run-tests # Not built, too slow
; ;

View File

@ -8,8 +8,8 @@
# #
exe bench-buffers : exe bench-buffers :
bench_buffers.cpp bench_buffers.cpp
/boost/beast/test//lib-test
; ;
explicit bench-buffers ; explicit bench-buffers ;

View File

@ -7,7 +7,12 @@
# Official repository: https://github.com/boostorg/beast # Official repository: https://github.com/boostorg/beast
# #
run nodejs_parser.cpp bench_parser.cpp : : : : bench-parser ; run
nodejs_parser.cpp
bench_parser.cpp
/boost/beast/test//lib-test
: : : :
bench-parser ;
explicit bench-parser ; explicit bench-parser ;

View File

@ -7,9 +7,9 @@
# Official repository: https://github.com/boostorg/beast # Official repository: https://github.com/boostorg/beast
# #
exe bench-utf8-checker : exe bench-utf8-checker : bench_utf8_checker.cpp
: requirements
bench_utf8_checker.cpp <library>/boost/beast/test//lib-test
; ;
explicit bench-utf8-checker ; explicit bench-utf8-checker ;

View File

@ -9,7 +9,7 @@
exe bench-zlib : exe bench-zlib :
$(ZLIB_SOURCES) $(ZLIB_SOURCES)
deflate_stream.cpp deflate_stream.cpp
inflate_stream.cpp inflate_stream.cpp
/boost/beast/test//lib-test
; ;

View File

@ -7,27 +7,12 @@
# Official repository: https://github.com/boostorg/beast # Official repository: https://github.com/boostorg/beast
# #
alias run-tests : local libs =
[ compile core_snippets.cpp ] /boost/beast//lib-asio-ssl
[ compile http_snippets.cpp ] /boost/beast/test//lib-test
[ run core_1_refresher.cpp ]
[ run core_3_timeouts.cpp ]
[ run core_4_layers.cpp ]
[ run http_10_custom_parser.cpp ]
[ run http_examples.cpp ]
[ run websocket.cpp ]
[ run websocket_1_connecting.cpp ]
[ run websocket_2_handshaking.cpp ]
[ run websocket_3_decorator.cpp ]
[ run websocket_4_messages.cpp ]
[ run websocket_5_control_frames.cpp ]
[ run websocket_6_timeouts.cpp ]
[ run websocket_7_teardown.cpp ]
[ run websocket_8_notes.cpp ]
; ;
exe fat-tests : local SOURCES =
core_1_refresher.cpp core_1_refresher.cpp
core_3_timeouts.cpp core_3_timeouts.cpp
core_4_layers.cpp core_4_layers.cpp
@ -44,8 +29,29 @@ exe fat-tests :
websocket_8_notes.cpp websocket_8_notes.cpp
; ;
local RUN_TESTS ;
RUN_TESTS +=
[ compile core_snippets.cpp $(libs) ]
[ compile http_snippets.cpp $(libs) ]
;
for local f in $(SOURCES)
{
RUN_TESTS += [ run $(f) $(libs) ] ;
}
alias run-tests : $(RUN_TESTS) ;
exe fat-tests :
$(SOURCES)
$(libs)
;
explicit fat-tests ; explicit fat-tests ;
run fat-tests : : : : run-fat-tests ; run $(SOURCES)
$(libs)
: : : : run-fat-tests ;
explicit run-fat-tests ; explicit run-fat-tests ;

View File

@ -14,13 +14,14 @@ local SOURCES =
local RUN_TESTS ; local RUN_TESTS ;
local libs =
/boost/beast//lib-asio-ssl
/boost/beast/test//lib-test
;
for local f in $(SOURCES) for local f in $(SOURCES)
{ {
RUN_TESTS += [ compile $(f) ] ; RUN_TESTS += [ run $(f) $(libs) ] ;
} }
alias run-tests : $(RUN_TESTS) ; alias run-tests : $(RUN_TESTS) ;
alias build-fat : run-tests ;
explicit build-fat ;

View File

@ -7,9 +7,7 @@
// Official repository: https://github.com/boostorg/beast // Official repository: https://github.com/boostorg/beast
// //
// This file is used to build a static library with // This file is used to build a static library
// asio and beast definitions, to reduce compilation time.
// BOOST_ASIO_SEPARATE_COMPILATION for asio::ssl #include <boost/beast/_experimental/unit_test/main.ipp>
#include <boost/asio/ssl/impl/src.hpp>