# # Copyright (c) 2019 Vinnie Falco (vinnie dot falco at gmail dot com) # Copyright (c) 2021 Dmitry Arkhipov (grisumbras@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-search /boost/config/checks ; import boost-pretty-printers ; import config ; import message ; import modules ; local args = [ modules.peek : ARGV ] ; local var = [ modules.peek project-config : libraries ] ; if json in [ MATCH ^--with-(json) : $(args) $(var) ] { message warn-if-requested : "warning:" Boost.Json was explicitly requested, but will not be built, because it requires C++11. : "note:" To enable C++11 support, use the 'cxxstd=11' command line argument. ; } else { alias warn-if-requested ; } # disabling has to be done via a separate target because b2 eagerly disables # targets with no in requirements, so warn-if-requested would never be # built and thus would never warn alias disable : : no ; explicit warn-if-requested disable ; rule requires ( tests + ) { local m = [ modules.binding config ] ; local result ; for test in $(tests) { result += [ check-target-builds $(m:D)//$(test) $(test) : : warn-if-requested disable ] ; } return $(result) ; } project : common-requirements ../include $(boost_dependencies)/off shared:BOOST_JSON_DYN_LINK=1 static:BOOST_JSON_STATIC_LINK=1 : requirements [ requires cxx11_constexpr cxx11_decltype cxx11_hdr_tuple cxx11_template_aliases cxx11_variadic_templates cxx11_alignas cxx11_std_align ] msvc:_SCL_SECURE_NO_WARNINGS : usage-requirements /boost/container//boost_container/off BOOST_JSON_NO_LIB=1 : source-location ../src ; alias json_deps ; alias json_sources : src.cpp ; lib boost_json : json_sources ; boost-pretty-printers.gdb-python-header gdb_printers.hpp : boost_json_gdb_printers.py : ../include/boost/json/detail --header-guard=BOOST_JSON_DETAIL_GDB_PRINTERS_HPP --disable-macro= ; always gdb_printers.hpp ; explicit regenerate-printers gdb_printers.hpp ; alias regenerate-printers : gdb_printers.hpp ;