Jamfile.v2 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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. project
  6. : requirements
  7. <threading>multi
  8. <link>shared:<define>BOOST_REGEX_DYN_LINK=1
  9. <toolset>msvc-7.1:<define>TEST_MFC=1
  10. <toolset>msvc-7.0:<define>TEST_MFC=1
  11. <toolset>msvc:<asynch-exceptions>on
  12. # There are unidentified linker problems on these platforms:
  13. <toolset>mipspro-7.4:<link>static
  14. <toolset>sun-5.9:<link>static
  15. <warnings>all
  16. <toolset>gcc:<cxxflags>-Wextra
  17. <toolset>gcc:<cxxflags>-Wshadow
  18. <define>U_USING_ICU_NAMESPACE=0
  19. #<toolset>gcc-mw:<link>static
  20. #<toolset>gcc-mingw:<link>static
  21. #<toolset>gcc-cygwin:<link>static
  22. <toolset>sun:<link>static
  23. ;
  24. #
  25. # rule for simple regex test programs:
  26. #
  27. rule regex-test ( name : sources + : requirements * : input-files * )
  28. {
  29. return [ run $(sources) ../build//boost_regex
  30. :
  31. : $(input-files)
  32. : $(requirements)
  33. : $(name) ] ;
  34. }
  35. R_SOURCE =
  36. basic_tests.cpp
  37. main.cpp
  38. test_alt.cpp
  39. test_anchors.cpp
  40. test_asserts.cpp
  41. test_backrefs.cpp
  42. test_deprecated.cpp
  43. test_emacs.cpp
  44. test_escapes.cpp
  45. test_grep.cpp
  46. test_locale.cpp
  47. test_mfc.cpp
  48. test_non_greedy_repeats.cpp
  49. test_perl_ex.cpp
  50. test_replace.cpp
  51. test_sets.cpp
  52. test_simple_repeats.cpp
  53. test_tricky_cases.cpp
  54. test_icu.cpp
  55. test_unicode.cpp
  56. test_overloads.cpp
  57. test_operators.cpp
  58. ;
  59. lib boost_regex_recursive :
  60. ../src/c_regex_traits.cpp
  61. ../src/cpp_regex_traits.cpp
  62. ../src/cregex.cpp
  63. ../src/fileiter.cpp
  64. ../src/icu.cpp
  65. ../src/instances.cpp
  66. ../src/posix_api.cpp
  67. ../src/regex.cpp
  68. ../src/regex_debug.cpp
  69. ../src/regex_raw_buffer.cpp
  70. ../src/regex_traits_defaults.cpp
  71. ../src/static_mutex.cpp
  72. ../src/w32_regex_traits.cpp
  73. ../src/wc_regex_traits.cpp
  74. ../src/wide_posix_api.cpp
  75. ../src/winstances.cpp
  76. ../src/usinstances.cpp
  77. ../build//icu_options
  78. :
  79. <define>BOOST_REGEX_RECURSIVE=1
  80. <link>shared:<define>BOOST_REGEX_DYN_LINK=1
  81. :
  82. ;
  83. local regress-sources = regress/$(R_SOURCE) ;
  84. test-suite regex
  85. :
  86. [ run regress/$(R_SOURCE) ../build//boost_regex ../build//icu_options
  87. : # command line
  88. : # input files
  89. : # requirements
  90. : regex_regress ]
  91. [ run regress/$(R_SOURCE) ../build//boost_regex
  92. ../../thread/build//boost_thread ../build//icu_options
  93. : # command line
  94. : # input files
  95. : # requirements
  96. <define>TEST_THREADS
  97. : regex_regress_threaded ]
  98. [ regex-test posix_api_check : c_compiler_checks/posix_api_check.c ]
  99. [ compile c_compiler_checks/wide_posix_api_check.c
  100. : : wide_posix_api_check_c ]
  101. [ regex-test posix_api_check_cpp : c_compiler_checks/posix_api_check.cpp ]
  102. [ regex-test wide_posix_api_check_cpp
  103. : c_compiler_checks/wide_posix_api_check.cpp ]
  104. [ run pathology/bad_expression_test.cpp
  105. ../build//boost_regex
  106. ]
  107. [ run pathology/recursion_test.cpp
  108. ../build//boost_regex
  109. ]
  110. [ run named_subexpressions/named_subexpressions_test.cpp
  111. ../build//boost_regex
  112. ]
  113. [ run unicode/unicode_iterator_test.cpp ../build//boost_regex : : : release <define>TEST_UTF8 : unicode_iterator_test_utf8 ]
  114. [ run unicode/unicode_iterator_test.cpp ../build//boost_regex : : : release <define>TEST_UTF16 : unicode_iterator_test_utf16 ]
  115. [ run static_mutex/static_mutex_test.cpp
  116. ../../thread/build//boost_thread ../build//boost_regex
  117. ]
  118. [ run object_cache/object_cache_test.cpp ../build//boost_regex
  119. ]
  120. [ run config_info/regex_config_info.cpp
  121. ../build//boost_regex/<link>static
  122. : # command line
  123. : # input files
  124. : <test-info>always_show_run_output
  125. ]
  126. [ run config_info/regex_config_info.cpp ../build//boost_regex
  127. : # command line
  128. : # input files
  129. : <test-info>always_show_run_output
  130. : regex_dll_config_info
  131. ]
  132. [ run collate_info/collate_info.cpp ../build//boost_regex
  133. : : : <test-info>always_show_run_output : test_collate_info ]
  134. [ link concepts/concept_check.cpp ../build//boost_regex ]
  135. [ link concepts/icu_concept_check.cpp ../build//boost_regex ]
  136. [ link concepts/range_concept_check.cpp ../build//boost_regex ]
  137. [ run concepts/test_bug_11988.cpp ../build//boost_regex ]
  138. [ run
  139. # sources
  140. captures/captures_test.cpp
  141. captures//boost_regex_extra ../build//icu_options
  142. : # additional args
  143. : # test-files
  144. : # requirements
  145. <threading>multi
  146. <define>BOOST_REGEX_MATCH_EXTRA=1
  147. <define>BOOST_REGEX_NO_LIB=1
  148. : # test name
  149. captures_test
  150. ]
  151. [ run regress/$(R_SOURCE) .//boost_regex_recursive
  152. ../build//icu_options
  153. : # command line
  154. : # input files
  155. : # requirements
  156. <define>BOOST_REGEX_RECURSIVE=1
  157. : regex_regress_recursive ]
  158. [ run regress/$(R_SOURCE) ./noeh_test//boost_regex_noeh
  159. ../build//icu_options
  160. : # command line
  161. : # input files
  162. : # requirements
  163. <define>BOOST_NO_EXCEPTIONS=1
  164. <exception-handling>off
  165. <link>static
  166. <runtime-link>shared
  167. : regex_regress_noeh ]
  168. ;
  169. compile test_consolidated.cpp ;
  170. build-project ../example ;
  171. # `quick` target (for CI)
  172. run quick.cpp ../build//boost_regex ;
  173. compile test_warnings.cpp
  174. : <toolset>msvc:<warnings>all <toolset>msvc:<warnings-as-errors>on
  175. <toolset>gcc:<warnings>all <toolset>gcc:<warnings-as-errors>on
  176. <toolset>clang:<warnings>all <toolset>clang:<warnings-as-errors>on ;