summaryrefslogtreecommitdiff
path: root/xsd-examples/cxx/tree/custom/calendar/buildfile
diff options
context:
space:
mode:
Diffstat (limited to 'xsd-examples/cxx/tree/custom/calendar/buildfile')
-rw-r--r--xsd-examples/cxx/tree/custom/calendar/buildfile47
1 files changed, 47 insertions, 0 deletions
diff --git a/xsd-examples/cxx/tree/custom/calendar/buildfile b/xsd-examples/cxx/tree/custom/calendar/buildfile
new file mode 100644
index 0000000..3c26122
--- /dev/null
+++ b/xsd-examples/cxx/tree/custom/calendar/buildfile
@@ -0,0 +1,47 @@
+# file : cxx/tree/custom/calendar/buildfile
+# license : not copyrighted - public domain
+
+import libs = libxsd%lib{xsd}
+import libs += libxerces-c%lib{xerces-c}
+import libs += libboost-date-time%lib{boost_date_time}
+
+./: exe{driver} doc{README}
+
+exe{driver}: {hxx cxx}{* -calendar -xml-schema} \
+ {hxx ixx cxx}{calendar} \
+ {hxx }{xml-schema} \
+ $libs
+
+exe{driver}: xml{calendar}: test.input = true
+
+<{hxx ixx cxx}{calendar}>: xsd{calendar} $xsd
+{{
+ diag xsd ($<[0]) # @@ TMP
+
+ $xsd cxx-tree --std c++11 \
+ --generate-inline \
+ --extern-xml-schema xml-schema.xsd \
+ --output-dir $out_base \
+ $path($<[0])
+}}
+
+hxx{xml-schema}: $xsd
+{{
+ diag xsd gen ($>[0])
+
+ # Note that the specified xml-schema.xsd doesn't exist and is only used to
+ # deduce the generated header name.
+ #
+ $xsd cxx-tree --std c++11 \
+ --generate-xml-schema \
+ --custom-type date \
+ --hxx-epilogue '#include "xml-schema-custom.hxx"' \
+ --output-dir $out_base \
+ xml-schema.xsd
+}}
+
+cxx.poptions =+ "-I$out_base" "-I$src_base"
+
+# Define XSD_CXX11 since we include libxsd headers directly.
+#
+cxx.poptions += -DXSD_CXX11