# file : cxx/tree/custom/taxonomy/buildfile # license : not copyrighted - public domain import libs = libxsd%lib{xsd} import libs += libxerces-c%lib{xerces-c} ./: exe{driver} doc{README} exe{driver}: {hxx cxx}{* -people} {hxx ixx cxx}{people} hxx{people-fwd} $libs exe{driver}: xml{people}: test.input = true <{hxx ixx cxx}{people} hxx{people-fwd}>: xsd{people} $xsd {{ diag xsd ($<[0]) # @@ TMP $xsd cxx-tree --std c++11 \ --generate-inline \ --generate-forward \ --generate-polymorphic \ --polymorphic-type person \ --custom-type "person=person_impl/person_base" \ --custom-type "superman=superman_impl/superman_base" \ --custom-type "batman=batman_impl/batman_base" \ --fwd-prologue '#include "people-custom-fwd.hxx"' \ --hxx-prologue '#include "people-custom.hxx"' \ --output-dir $out_base \ $path($<[0]) }} cxx.poptions =+ "-I$out_base" "-I$src_base"