summaryrefslogtreecommitdiff
path: root/xsd-examples/cxx/tree/messaging/buildfile
blob: 62faddac19cd7a2eb0dfaf9c7157f2d973545a1c (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
# file      : cxx/tree/messaging/buildfile
# license   : not copyrighted - public domain

import libs  = libxsd%lib{xsd}
import libs += libxerces-c%lib{xerces-c}

./: exe{driver} xml{balance deposit withdraw} doc{README}

exe{driver}: {hxx cxx}{* -protocol} {hxx ixx cxx}{protocol} $libs testscript

<{hxx ixx cxx}{protocol}>: xsd{protocol} $xsd
{{
  diag xsd ($<[0]) # @@ TMP

  $xsd cxx-tree --std c++11     \
       --generate-inline        \
       --root-element-all       \
       --generate-element-type  \
       --generate-element-map   \
       --generate-serialization \
       --output-dir $out_base   \
       $path($<[0])
}}

cxx.poptions =+ "-I$out_base" "-I$src_base"

# Define XSD_CXX11 since we include libxsd headers directly.
#
cxx.poptions += -DXSD_CXX11