xo-cmake: streamline facet gen

This commit is contained in:
Roland Conybeare 2026-01-05 12:09:42 -05:00
commit 6b22aab6fb
4 changed files with 20 additions and 9 deletions

View file

@ -1702,7 +1702,8 @@ function(xo_add_genfacetimpl)
set(options "") set(options "")
set(oneValueArgs set(oneValueArgs
TARGET # Name for this generation target TARGET # Name for this generation target
FACET_DIR # facet directory FACET_PKG # package providing abstract interface
FACET_DIR # facet directory (instead of FACET_PKG)
FACET # facet name FACET # facet name
REPR # representation name REPR # representation name
INPUT # Input .json5 file INPUT # Input .json5 file
@ -1736,6 +1737,15 @@ function(xo_add_genfacetimpl)
message(FATAL_ERROR "xo_add_genfacetimpl: OUTPUT_CPP_DIR is required") message(FATAL_ERROR "xo_add_genfacetimpl: OUTPUT_CPP_DIR is required")
endif() endif()
if(NOT DEFINED GF_FACET_DIR)
if (NOT DEFINED GF_FACET_PKG)
message(FATAL_ERROR "xo_add_genfacetimpl: FACET_PKG or FACET_DIR required")
else()
get_target_property(_facet_dir share_${GF_FACET_PKG} path)
set(GF_FACET_DIR ${_facet_dir})
endif()
endif()
find_program(GENFACET_EXECUTABLE NAMES genfacet find_program(GENFACET_EXECUTABLE NAMES genfacet
HINTS ${CMAKE_SOURCE_DIR}/xo-facet/codegen HINTS ${CMAKE_SOURCE_DIR}/xo-facet/codegen
DOC "path to xo genfacet code generator" DOC "path to xo genfacet code generator"

View file

@ -29,6 +29,7 @@ xo_add_genfacet(
xo_add_genfacetimpl( xo_add_genfacetimpl(
TARGET xo-object2-facetimpl-sequence-list TARGET xo-object2-facetimpl-sequence-list
FACET_PKG xo_object2
FACET Sequence FACET Sequence
REPR List REPR List
INPUT idl/ISequence_DList.json5 INPUT idl/ISequence_DList.json5
@ -37,12 +38,13 @@ xo_add_genfacetimpl(
OUTPUT_CPP_DIR src/object2 OUTPUT_CPP_DIR src/object2
) )
get_target_property(xo_printable2_dir share_xo_printable2 path) #get_target_property(xo_printable2_dir share_xo_printable2 path)
message(STATUS "xo_printable2_dir=${xo_printable2_dir}") #message(STATUS "xo_printable2_dir=${xo_printable2_dir}")
xo_add_genfacetimpl( xo_add_genfacetimpl(
TARGET xo-object2-facetimpl-printable-float TARGET xo-object2-facetimpl-printable-float
FACET_DIR ${xo_printable2_dir} FACET_PKG xo_printable2
# FACET_DIR ${xo_printable2_dir}
FACET Printable FACET Printable
REPR Float REPR Float
INPUT idl/IPrintable_DFloat.json5 INPUT idl/IPrintable_DFloat.json5

View file

@ -2,7 +2,7 @@
* *
* Generated automagically from ingredients: * Generated automagically from ingredients:
* 1. code generator: * 1. code generator:
* [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] * [/home/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet]
* arguments: * arguments:
* --input [idl/IPrintable_DFloat.json5] * --input [idl/IPrintable_DFloat.json5]
* 2. jinja2 template for abstract facet .hpp file: * 2. jinja2 template for abstract facet .hpp file:
@ -45,8 +45,7 @@ namespace xo {
/** @defgroup scm-printable-dfloat-methods **/ /** @defgroup scm-printable-dfloat-methods **/
///@{ ///@{
/** Pretty-printing support for this object. /** Pretty-printing support for this object.
See [xo-indentlog/xo/indentlog/pretty.hpp] See [xo-indentlog/xo/indentlog/pretty.hpp] **/
**/
static bool pretty(const DFloat & self, const ppindentinfo & ppii); static bool pretty(const DFloat & self, const ppindentinfo & ppii);
///@} ///@}
@ -55,4 +54,4 @@ namespace xo {
} /*namespace scm*/ } /*namespace scm*/
} /*namespace xo*/ } /*namespace xo*/
/* end */ /* end */

View file

@ -2,7 +2,7 @@
* *
* Generated automagically from ingredients: * Generated automagically from ingredients:
* 1. code generator: * 1. code generator:
* [/Users/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet] * [/home/roland/proj/xo-umbrella2/xo-facet/codegen/genfacet]
* arguments: * arguments:
* --input [idl/IPrintable_DFloat.json5] * --input [idl/IPrintable_DFloat.json5]
* 2. jinja2 template for abstract facet .hpp file: * 2. jinja2 template for abstract facet .hpp file: