# Boost.Variant2 Library Test Jamfile # # Copyright 2015-2019 Peter Dimov # # 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 testing ; import ../../config/checks/config : requires ; project : default-build <warnings>extra : requirements [ requires cxx11_variadic_templates cxx11_template_aliases cxx11_decltype cxx11_constexpr ] <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on ; run quick.cpp ; run variant_size.cpp ; run variant_alternative.cpp ; run variant_holds_alternative.cpp ; compile variant_holds_alternative_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_get_by_index.cpp ; compile variant_get_by_index_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_get_by_type.cpp ; compile variant_get_by_type_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_default_construct.cpp ; compile variant_default_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_copy_construct.cpp ; compile variant_copy_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_move_construct.cpp ; compile variant_move_construct_cx.cpp : [ requires cxx14_constexpr ] ; run variant_value_construct.cpp ; compile variant_value_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_in_place_index_construct.cpp ; compile variant_in_place_index_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_in_place_type_construct.cpp ; compile variant_in_place_type_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; run variant_copy_assign.cpp ; compile variant_copy_assign_cx.cpp : [ requires cxx14_constexpr ] ; run variant_move_assign.cpp ; compile variant_move_assign_cx.cpp : [ requires cxx14_constexpr ] ; run variant_value_assign.cpp ; compile variant_value_assign_cx.cpp : [ requires cxx14_constexpr ] ; run variant_emplace_index.cpp ; compile variant_emplace_index_cx.cpp : [ requires cxx14_constexpr ] ; run variant_emplace_type.cpp ; compile variant_emplace_type_cx.cpp : [ requires cxx14_constexpr ] ; run variant_swap.cpp ; run variant_eq_ne.cpp ; compile variant_eq_ne_cx.cpp : [ requires cxx14_constexpr ] ; run variant_lt_gt.cpp ; compile variant_lt_gt_cx.cpp : [ requires cxx14_constexpr ] ; run variant_destroy.cpp ; run variant_visit.cpp ; run variant_convert_construct.cpp ; run variant_subset.cpp ; run variant_valueless.cpp ; run variant_copy_construct_throw.cpp ; run variant_move_construct_throw.cpp ; run variant_convert_construct_throw.cpp ; run variant_copy_assign_throw.cpp ; run variant_move_assign_throw.cpp ; local NX = <exception-handling>off <toolset>msvc:<cxxflags>/wd4530 <toolset>msvc:<cxxflags>/wd4577 ; run variant_get_by_index.cpp throw_exception.cpp : : : $(NX) : variant_get_by_index_nx ; compile variant_get_by_index_cx.cpp : $(NX) <toolset>msvc-14.0:<build>no : variant_get_by_index_cx_nx ; run variant_get_by_type.cpp throw_exception.cpp : : : $(NX) : variant_get_by_type_nx ; compile variant_get_by_type_cx.cpp : $(NX) <toolset>msvc-14.0:<build>no : variant_get_by_type_cx_nx ; run variant_subset.cpp throw_exception.cpp : : : $(NX) : variant_subset_nx ; run variant_hash.cpp ; run variant_trivial.cpp ; run variant_special.cpp ; run variant_visit_derived.cpp ; run variant_many_types.cpp ; run variant_visit_r.cpp : : : <toolset>gcc,<target-os>windows:<variant>release <toolset>gcc,<target-os>cygwin:<variant>release ; compile variant_derived_construct.cpp ; run variant_visit_by_index.cpp ; run variant_ostream_insert.cpp ; run is_output_streamable.cpp ; local JSON = <library>/boost//json/<warnings>off "<toolset>msvc-14.0:<build>no" "<toolset>msvc-14.2:<cxxflags>-wd5104" "<undefined-sanitizer>norecover:<link>static" ; run variant_json_value_from.cpp : : : $(JSON) ; run variant_json_value_to.cpp : : : $(JSON) ; compile variant_uses_double_storage.cpp ; run variant_derived_construct2.cpp ;