blob: f5d6380e9e7a02726600e7b2a5b673eeb32910a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# file : schema/any/buildfile
# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
# Just make sure that the schema files and the xsd-generated C++ mappings are
# compilable.
#
import libs = libxsd%lib{xsd}
import libs += libxerces-c%lib{xerces-c}
for sc: test fail
{
dr = "driver-$sc"
./: exe{$dr}: cxx{$dr} {hxx cxx}{$sc} $libs
cxx{$dr}: in{driver}
{
# Note: we can't use $sc$ in driver.cxx.in since it will be substituted by
# the latest $sc value.
#
sch = $sc
}
}
<{hxx cxx}{test}>: xsd{test} $xsd
{{
$xsd cxx-tree --std c++11 \
--root-element-all \
--output-dir $out_base \
$path($<[0])
}}
<{hxx cxx}{fail}>: xsd{fail} $xsd
{{
$xsd cxx-tree --std c++11 \
--root-element-all \
--output-dir $out_base \
$path($<[0]) 2>>?~%EOE%
%.+(warning T001:|info:).+%{9}
EOE
}}
cxx.poptions =+ "-I$out_base"
|