summaryrefslogtreecommitdiff
path: root/xsd-tests/schema/any/buildfile
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"