1# copyright John Maddock 2003 2# Distributed under the Boost Software License, Version 1.0. 3# (See accompanying file LICENSE_1_0.txt or copy at 4# http://www.boost.org/LICENSE_1_0.txt. 5 6project 7 : requirements 8 <threading>multi 9 <link>shared:<define>BOOST_REGEX_DYN_LINK=1 10 <toolset>msvc-7.1:<define>TEST_MFC=1 11 <toolset>msvc-7.0:<define>TEST_MFC=1 12 <toolset>msvc:<asynch-exceptions>on 13 # There are unidentified linker problems on these platforms: 14 <toolset>mipspro-7.4:<link>static 15 <toolset>sun-5.9:<link>static 16 <warnings>all 17 <toolset>gcc:<cxxflags>-Wextra 18 <toolset>gcc:<cxxflags>-Wshadow 19 <define>U_USING_ICU_NAMESPACE=0 20 #<toolset>gcc-mw:<link>static 21 #<toolset>gcc-mingw:<link>static 22 #<toolset>gcc-cygwin:<link>static 23 <toolset>sun:<link>static 24 ; 25 26# 27# rule for simple regex test programs: 28# 29rule regex-test ( name : sources + : requirements * : input-files * ) 30{ 31 return [ run $(sources) ../build//boost_regex 32 : 33 : $(input-files) 34 : $(requirements) 35 : $(name) ] ; 36} 37 38R_SOURCE = 39basic_tests.cpp 40main.cpp 41wmain.cpp 42test_alt.cpp 43test_anchors.cpp 44test_asserts.cpp 45test_backrefs.cpp 46test_deprecated.cpp 47test_emacs.cpp 48test_escapes.cpp 49test_grep.cpp 50test_locale.cpp 51test_mfc.cpp 52test_non_greedy_repeats.cpp 53test_perl_ex.cpp 54test_replace.cpp 55test_sets.cpp 56test_simple_repeats.cpp 57test_tricky_cases.cpp 58test_icu.cpp 59test_unicode.cpp 60test_overloads.cpp 61test_operators.cpp 62; 63 64lib boost_regex_recursive : 65 ../src/posix_api.cpp 66 ../src/regex.cpp 67 ../src/regex_debug.cpp 68 ../src/static_mutex.cpp 69 ../src/wide_posix_api.cpp 70 ../build//icu_options 71 : 72 <define>BOOST_REGEX_RECURSIVE=1 73 <define>BOOST_REGEX_CXX03=1 74 <link>shared:<define>BOOST_REGEX_DYN_LINK=1 75 : 76 ; 77 78 79local regress-sources = regress/$(R_SOURCE) ; 80 81test-suite regex 82 : 83 [ run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options 84 : # command line 85 : # input files 86 : # requirements 87 : regex_regress ] 88 89 [ run regress/$(R_SOURCE) ../build//boost_regex 90 ../../thread/build//boost_thread ../build//icu_options 91 : # command line 92 : # input files 93 : # requirements 94 <define>TEST_THREADS 95 : regex_regress_threaded ] 96 97 [ regex-test posix_api_check : c_compiler_checks/posix_api_check.c ] 98 99 [ compile c_compiler_checks/wide_posix_api_check.c 100 : : wide_posix_api_check_c ] 101 102 [ regex-test posix_api_check_cpp : c_compiler_checks/posix_api_check.cpp ] 103 104 [ regex-test wide_posix_api_check_cpp 105 : c_compiler_checks/wide_posix_api_check.cpp ] 106 107 [ run pathology/bad_expression_test.cpp : : : 108 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 109 ] 110 111 [ run pathology/recursion_test.cpp : : : 112 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 113 ] 114 115 [ run named_subexpressions/named_subexpressions_test.cpp : : : 116 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 117 ] 118 119 [ run unicode/unicode_iterator_test.cpp : : : 120 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 121 release <define>TEST_UTF8 : unicode_iterator_test_utf8 ] 122 [ run unicode/unicode_iterator_test.cpp : : : 123 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 124 release <define>TEST_UTF16 : unicode_iterator_test_utf16 ] 125 [ run static_mutex/static_mutex_test.cpp 126 ../../thread/build//boost_thread ../build//boost_regex 127 ] 128 [ run object_cache/object_cache_test.cpp : : : 129 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 130 ] 131 132 [ run config_info/regex_config_info.cpp 133 ../build//boost_regex/<link>static 134 : # command line 135 : # input files 136 : <test-info>always_show_run_output 137 ] 138 [ run config_info/regex_config_info.cpp ../build//boost_regex 139 : # command line 140 : # input files 141 : <test-info>always_show_run_output 142 : regex_dll_config_info 143 ] 144 145 [ run collate_info/collate_info.cpp ../build//boost_regex 146 : : : <test-info>always_show_run_output : test_collate_info ] 147 148 149 [ link concepts/concept_check.cpp : 150 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 151 ] 152 [ link concepts/concept_check.cpp : 153 <define>BOOST_REGEX_STANDALONE [ check-target-builds ../build//is_legacy_03 : : <build>no ] : standalone_concept_check 154 ] 155 [ link concepts/icu_concept_check.cpp : 156 <define>BOOST_REGEX_STANDALONE [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 157 ] 158 [ link concepts/icu_concept_check.cpp : 159 [ check-target-builds ../build//is_legacy_03 : : <build>no ] : standalone_icu_concept_check 160 ] 161 [ link concepts/range_concept_check.cpp : 162 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 163 ] 164 [ run concepts/test_bug_11988.cpp : : : 165 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 166 ] 167 168 [ run 169 # sources 170 captures/captures_test.cpp 171 ../build//icu_options 172 : # additional args 173 : # test-files 174 : # requirements 175 <threading>multi 176 <define>BOOST_REGEX_MATCH_EXTRA=1 177 <define>BOOST_REGEX_NO_LIB=1 178 [ check-target-builds ../build//is_legacy_03 : : <source>../build//boost_regex ] 179 : # test name 180 captures_test 181 ] 182 183 [ run regress/$(R_SOURCE) .//boost_regex_recursive 184 ../build//icu_options 185 : # command line 186 : # input files 187 : # requirements 188 <define>BOOST_REGEX_RECURSIVE=1 189 <define>BOOST_REGEX_CXX03=1 190 : regex_regress_recursive ] 191 192[ run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh 193 ../build//icu_options 194 : # command line 195 : # input files 196 : # requirements 197 <define>BOOST_NO_EXCEPTIONS=1 198 <exception-handling>off 199 <link>static 200 <runtime-link>shared 201 : regex_regress_noeh ] 202 203; 204 205compile test_consolidated.cpp ; 206 207build-project ../example ; 208 209# `quick` target (for CI) 210run quick.cpp ../build//boost_regex ; 211 212compile test_warnings.cpp 213 : <toolset>msvc:<warnings>all <toolset>msvc:<warnings-as-errors>on 214 <toolset>gcc:<warnings>all <toolset>gcc:<warnings-as-errors>on 215 <toolset>clang:<warnings>all <toolset>clang:<warnings-as-errors>on ; 216 217compile test_warnings.cpp 218 : <toolset>msvc:<warnings>all <toolset>msvc:<warnings-as-errors>on 219 <toolset>gcc:<warnings>all <toolset>gcc:<warnings-as-errors>on 220 <toolset>clang:<warnings>all <toolset>clang:<warnings-as-errors>on 221 <define>BOOST_REGEX_STANDALONE 222 [ check-target-builds ../build//is_legacy_03 : : <build>no ] 223 : test_warnings_standalone ; 224