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