Jamfile 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #==============================================================================
  2. # Copyright (c) 2001-2011 Joel de Guzman
  3. # Copyright (c) 2001-2012 Hartmut Kaiser
  4. # Copyright (c) 2011 Bryce Lelbach
  5. # Copyright (c) 2016-2019 Nikita Kniazev
  6. #
  7. # Use, modification and distribution is subject to the Boost Software
  8. # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  9. # http://www.boost.org/LICENSE_1_0.txt)
  10. #==============================================================================
  11. import testing ;
  12. ###############################################################################
  13. project spirit-qi
  14. : requirements
  15. <include>.
  16. <c++-template-depth>512
  17. ;
  18. ###############################################################################
  19. cpp-pch pch : pch.hpp : : : <include>. <toolset>msvc:<cxxflags>"/FIpch.hpp" ;
  20. explicit pch ;
  21. ###############################################################################
  22. local subproject-name = qi ;
  23. rule run ( sources + : args * : input-files *
  24. : requirements * : target-name ? : default-build * )
  25. {
  26. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  27. return [ testing.run $(sources) : $(args) : $(input-files)
  28. : $(requirements) <pch>on-spirit:<source>pch : $(target-name) : $(default-build) ] ;
  29. }
  30. rule compile ( sources + : requirements * : target-name ? )
  31. {
  32. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  33. return [ testing.compile $(sources)
  34. : $(requirements) <pch>on-spirit:<source>pch : $(target-name) ] ;
  35. }
  36. rule compile-fail ( sources + : requirements * : target-name ? )
  37. {
  38. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  39. return [ testing.compile-fail $(sources)
  40. : $(requirements) <pch>on-spirit:<source>pch : $(target-name) ] ;
  41. }
  42. ###############################################################################
  43. compile-fail grammar_fail.cpp ;
  44. compile-fail rule_fail.cpp ;
  45. run actions.cpp : : : <pch>off ; # Enable PCH when boostorg/proto#13 is merged.
  46. run actions2.cpp : : : <pch>off ;
  47. run alternative.cpp ;
  48. run attr.cpp ;
  49. run attribute1.cpp ;
  50. run attribute2.cpp ;
  51. run and_predicate.cpp ;
  52. run auto.cpp ;
  53. run binary.cpp ;
  54. run bool1.cpp ;
  55. run bool2.cpp ;
  56. run char1.cpp : : : <pch>off ; # Enable PCH after fixing interference from including auto.
  57. run char2.cpp ;
  58. run char_class.cpp : : : <pch>off ;
  59. run debug.cpp : : : <pch>off ;
  60. run difference.cpp ;
  61. run encoding.cpp ;
  62. run end.cpp ;
  63. run eps.cpp ;
  64. run expect.cpp ;
  65. run expectd.cpp ;
  66. run extract_int.cpp ;
  67. run grammar.cpp ;
  68. run int1.cpp ;
  69. run int2.cpp ;
  70. run int3.cpp ;
  71. run kleene.cpp ;
  72. run lazy.cpp ;
  73. run lexeme.cpp ;
  74. run lit1.cpp ;
  75. run lit2.cpp ;
  76. run list.cpp ;
  77. run hold.cpp ;
  78. run match_manip1.cpp ;
  79. run match_manip2.cpp ;
  80. run match_manip3.cpp ;
  81. run match_manip_attr.cpp ;
  82. run matches.cpp ;
  83. run no_case.cpp ;
  84. run no_skip.cpp ;
  85. run not_predicate.cpp ;
  86. run omit.cpp ;
  87. run optional.cpp ;
  88. run parse_attr.cpp ;
  89. run pass_container1.cpp ;
  90. run pass_container2.cpp ;
  91. run permutation.cpp ;
  92. run plus.cpp ;
  93. run range_run.cpp ;
  94. run raw.cpp ;
  95. run real1.cpp ;
  96. run real2.cpp ;
  97. run real3.cpp ;
  98. run real4.cpp ;
  99. run real5.cpp ;
  100. run repeat.cpp ;
  101. run rule1.cpp ;
  102. run rule2.cpp ;
  103. run rule3.cpp ;
  104. run rule4.cpp ;
  105. run sequence.cpp ;
  106. run sequential_or.cpp ;
  107. run skip.cpp ;
  108. run stream.cpp ;
  109. run symbols1.cpp ;
  110. run symbols2.cpp ;
  111. run terminal_ex.cpp ;
  112. run tst.cpp ;
  113. run uint1.cpp ;
  114. run uint2.cpp ;
  115. run uint3.cpp ;
  116. run uint_radix.cpp ;
  117. run utree1.cpp ;
  118. run utree2.cpp ;
  119. run utree3.cpp ;
  120. run utree4.cpp ;
  121. run iterator_check.cpp ;
  122. compile pass_container3.cpp ;
  123. compile regression_attr_with_action.cpp ;
  124. compile regression_container_attribute.cpp ;
  125. compile regression_debug_optional.cpp : <pch>off ;
  126. compile regression_fusion_proto_spirit.cpp ;
  127. compile regression_one_element_fusion_sequence.cpp ;
  128. compile regression_one_element_sequence_attribute.cpp ;
  129. run regression_adapt_adt.cpp ;
  130. run regression_clear.cpp ;
  131. #run regression_float_fraction.cpp ;
  132. run regression_lazy_repeat.cpp ;
  133. run regression_numeric_alternatives.cpp ;
  134. run regression_reorder.cpp ;
  135. run regression_repeat.cpp ;
  136. run regression_transform_assignment.cpp ;
  137. run regression_binary_action.cpp ;
  138. run regression_stream_eof.cpp ;
  139. run to_utf8.cpp : : : <pch>off ;