1# Boost.Variant2 Library Test Jamfile 2# 3# Copyright 2015-2019 Peter Dimov 4# 5# Distributed under the Boost Software License, Version 1.0. 6# See accompanying file LICENSE_1_0.txt or copy at 7# http://www.boost.org/LICENSE_1_0.txt 8 9import testing ; 10import ../../config/checks/config : requires ; 11 12project 13 : default-build 14 15 <warnings>extra 16 17 : requirements 18 19 [ requires cxx11_variadic_templates cxx11_template_aliases cxx11_decltype cxx11_constexpr ] 20 21 <toolset>msvc:<warnings-as-errors>on 22 <toolset>gcc:<warnings-as-errors>on 23 <toolset>clang:<warnings-as-errors>on 24 ; 25 26run quick.cpp ; 27 28run variant_size.cpp ; 29run variant_alternative.cpp ; 30 31run variant_holds_alternative.cpp ; 32compile variant_holds_alternative_cx.cpp : <toolset>msvc-14.0:<build>no ; 33 34run variant_get_by_index.cpp ; 35compile variant_get_by_index_cx.cpp : <toolset>msvc-14.0:<build>no ; 36 37run variant_get_by_type.cpp ; 38compile variant_get_by_type_cx.cpp : <toolset>msvc-14.0:<build>no ; 39 40run variant_default_construct.cpp ; 41compile variant_default_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; 42 43run variant_copy_construct.cpp ; 44compile variant_copy_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; 45 46run variant_move_construct.cpp ; 47compile variant_move_construct_cx.cpp : [ requires cxx14_constexpr ] ; 48 49run variant_value_construct.cpp ; 50compile variant_value_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; 51 52run variant_in_place_index_construct.cpp ; 53compile variant_in_place_index_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; 54 55run variant_in_place_type_construct.cpp ; 56compile variant_in_place_type_construct_cx.cpp : <toolset>msvc-14.0:<build>no ; 57 58run variant_copy_assign.cpp ; 59compile variant_copy_assign_cx.cpp : [ requires cxx14_constexpr ] ; 60 61run variant_move_assign.cpp ; 62compile variant_move_assign_cx.cpp : [ requires cxx14_constexpr ] ; 63 64run variant_value_assign.cpp ; 65compile variant_value_assign_cx.cpp : [ requires cxx14_constexpr ] ; 66 67run variant_emplace_index.cpp ; 68compile variant_emplace_index_cx.cpp : [ requires cxx14_constexpr ] ; 69 70run variant_emplace_type.cpp ; 71compile variant_emplace_type_cx.cpp : [ requires cxx14_constexpr ] ; 72 73run variant_swap.cpp ; 74 75run variant_eq_ne.cpp ; 76compile variant_eq_ne_cx.cpp : [ requires cxx14_constexpr ] ; 77 78run variant_lt_gt.cpp ; 79compile variant_lt_gt_cx.cpp : [ requires cxx14_constexpr ] ; 80 81run variant_destroy.cpp ; 82run variant_visit.cpp ; 83 84run variant_convert_construct.cpp ; 85run variant_subset.cpp ; 86run variant_valueless.cpp ; 87 88run variant_copy_construct_throw.cpp ; 89run variant_move_construct_throw.cpp ; 90run variant_convert_construct_throw.cpp ; 91 92run variant_copy_assign_throw.cpp ; 93run variant_move_assign_throw.cpp ; 94 95local NX = 96 <exception-handling>off 97 <toolset>msvc:<cxxflags>/wd4530 98 <toolset>msvc:<cxxflags>/wd4577 99 ; 100 101run variant_get_by_index.cpp throw_exception.cpp : : : $(NX) : variant_get_by_index_nx ; 102compile variant_get_by_index_cx.cpp : $(NX) <toolset>msvc-14.0:<build>no : variant_get_by_index_cx_nx ; 103 104run variant_get_by_type.cpp throw_exception.cpp : : : $(NX) : variant_get_by_type_nx ; 105compile variant_get_by_type_cx.cpp : $(NX) <toolset>msvc-14.0:<build>no : variant_get_by_type_cx_nx ; 106 107run variant_subset.cpp throw_exception.cpp : : : $(NX) : variant_subset_nx ; 108 109run variant_hash.cpp ; 110 111run variant_trivial.cpp ; 112run variant_special.cpp ; 113 114run variant_visit_derived.cpp ; 115 116run variant_many_types.cpp ; 117 118run variant_visit_r.cpp ; 119