1# Boost.MultiIndex tests Jamfile
2#
3# Copyright 2003-2020 Joaqu�n M L�pez Mu�oz.
4# Distributed under the Boost Software License, Version 1.0.
5# (See accompanying file LICENSE_1_0.txt or copy at
6# http://www.boost.org/LICENSE_1_0.txt)
7#
8# See http://www.boost.org/libs/multi_index for library home page.
9
10import os ;
11import type ;
12
13# Windows Vista UAC has an heuristic by which executable files whose name
14# contains any of the words "install", "setup", "update", etc. are assumed
15# to be installation packages needing administrative rights, which causes
16# the system to bring up a window asking for execution confirmation by the
17# user, thus interferring in the unattended bjam process.
18# Problem bypassed by changing the EXE names containing a taboo word.
19# Thanks to Rene Rivera for guidance on the use of the <tag> feature.
20
21rule change-test_update-exe-name ( name : type ? : property-set )
22{
23    if [ os.on-windows ] && [ type.is-subtype $(type) EXE ]
24    {
25        return test_updat.exe ;
26    }
27}
28
29project
30    : requirements
31      <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
32      <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
33      <toolset>msvc:<define>_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
34      <toolset>msvc:<cxxflags>/wd4494
35    ;
36
37obj boost_multi_index_key_supported : check_bmi_key_supported.cpp  ;
38explicit boost_multi_index_key_supported ;
39
40test-suite "multi_index" :
41    [ run test_alloc_awareness.cpp  test_alloc_awareness_main.cpp  ]
42    [ run test_basic.cpp            test_basic_main.cpp            ]
43    [ run test_capacity.cpp         test_capacity_main.cpp         ]
44    [ run test_comparison.cpp       test_comparison_main.cpp       ]
45    [ run test_composite_key.cpp    test_composite_key_main.cpp    ]
46    [ run test_conv_iterators.cpp   test_conv_iterators_main.cpp   ]
47    [ run test_copy_assignment.cpp  test_copy_assignment_main.cpp  ]
48    [ run test_hash_ops.cpp         test_hash_ops_main.cpp         ]
49    [ run test_iterators.cpp        test_iterators_main.cpp        ]
50    [ run test_key.cpp              test_key_main.cpp
51        : : :
52        [ check-target-builds boost_multi_index_key_supported
53            "BOOST_MULTI_INDEX_KEY_SUPPORTED defined"
54            : : <build>no                                        ] ]
55    [ run test_key_extractors.cpp   test_key_extractors_main.cpp   ]
56    [ run test_list_ops.cpp         test_list_ops_main.cpp         ]
57    [ run test_modifiers.cpp        test_modifiers_main.cpp        ]
58    [ run test_mpl_ops.cpp          test_mpl_ops_main.cpp          ]
59    [ run test_node_handling.cpp    test_node_handling_main.cpp    ]
60    [ run test_observers.cpp        test_observers_main.cpp        ]
61    [ run test_projection.cpp       test_projection_main.cpp       ]
62    [ run test_range.cpp            test_range_main.cpp            ]
63    [ run test_rank_ops.cpp         test_rank_ops_main.cpp         ]
64    [ run test_rearrange.cpp        test_rearrange_main.cpp        ]
65    [ run test_safe_mode.cpp        test_safe_mode_main.cpp        ]
66    [ run test_serialization.cpp    test_serialization1.cpp
67          test_serialization2.cpp   test_serialization3.cpp
68          test_serialization_main.cpp
69          /boost/serialization//boost_serialization                ]
70    [ run test_set_ops.cpp          test_set_ops_main.cpp          ]
71    [ run test_special_set_ops.cpp  test_special_set_ops_main.cpp  ]
72    [ run test_update.cpp           test_update_main.cpp
73        : : :
74        -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
75        <tag>@change-test_update-exe-name                          ]
76    ;
77