1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
#
# Copyright (c) 2013-2019 Vinnie Falco (vinnie.falco@gmail.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/json
#
import boost-pretty-printers ;
import testing ;
local SOURCES =
array.cpp
basic_parser.cpp
conversion.cpp
doc_background.cpp
doc_forward_conversion.cpp
doc_parsing.cpp
doc_quick_look.cpp
doc_serializing.cpp
doc_storage_ptr.cpp
doc_uses_allocator.cpp
doc_using_numbers.cpp
double.cpp
error.cpp
fwd.cpp
json.cpp
kind.cpp
memory_resource.cpp
monotonic_resource.cpp
natvis.cpp
null_resource.cpp
object.cpp
parse.cpp
parser.cpp
pilfer.cpp
pointer.cpp
result_for.cpp
serialize.cpp
serializer.cpp
snippets.cpp
static_resource.cpp
storage_ptr.cpp
stream_parser.cpp
string.cpp
string_view.cpp
value.cpp
value_from.cpp
value_stack.cpp
value_to.cpp
value_ref.cpp
utf8.cpp
visit.cpp
ryu/d2s_intrinsics_test.cpp
ryu/d2s_table_test.cpp
ryu/d2s_test.cpp
;
project
: requirements
<include>.
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
<toolset>gcc:<cxxflags>-Wno-restrict # annoying false positives
;
for local f in $(SOURCES)
{
run $(f) main.cpp /boost/json//boost_json ;
}
local HEAVY_SOURCES =
parse_into.cpp
;
for local f in $(HEAVY_SOURCES)
{
run $(f) main.cpp /boost/json//boost_json
: requirements <toolset>msvc:<cxxflags>/bigobj
;
}
run limits.cpp main.cpp /boost/json//json_sources
: requirements
<define>BOOST_JSON_MAX_STRING_SIZE=1000
<define>BOOST_JSON_MAX_STRUCTURED_SIZE=20
<define>BOOST_JSON_STACK_BUFFER_SIZE=256
;
run no_exceptions.cpp main.cpp /boost/json//json_sources
: requirements
<exception-handling>off
<toolset>msvc:<cxxflags>"/wd4530" # C++ exception handler used
<toolset>msvc:<cxxflags>"/wd4577" # noexcept used without /EHsc
;
run intrusive_macros.cpp main.cpp /boost/json//json_deps ;
boost-pretty-printers.test-gdb-printers gdb-printers
: printers.cpp
/boost/json//boost_json
: <dependency>../src/boost_json_gdb_printers.py
;
explicit gdb-printers ;
alias common : $(SOURCES:B) limits no_exceptions intrusive_macros ;
alias heavy : $(HEAVY_SOURCES:B) ;
|