From 831fc10c18ba25f8f3436f89480693e0334236af Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Fri, 27 Feb 2026 19:38:53 +1100 Subject: [PATCH] xo-cmake: setup to make share target available via cmake install --- xo-alloc/cmake/xo_allocConfig.cmake.in | 1 + xo-alloc2/cmake/xo_alloc2Config.cmake.in | 1 + .../cmake/xo_allocutilConfig.cmake.in | 1 + xo-arena/cmake/xo_arenaConfig.cmake.in | 1 + xo-callback/cmake/callbackConfig.cmake.in | 1 + xo-cmake/cmake/xo_macros/xo_cxx.cmake | 11 +++ .../docs/history/2026/cmake-facet-export.rst | 81 +++++++++++++++++++ .../cmake/xo_distributionConfig.cmake.in | 1 + .../cmake/xo_expressionConfig.cmake.in | 1 + .../cmake/xo_expression2Config.cmake.in | 1 + xo-facet/cmake/xo_facetConfig.cmake.in | 1 + .../cmake/xo_flatstringConfig.cmake.in | 1 + xo-gc/cmake/xo_gcConfig.cmake.in | 1 + xo-indentlog/cmake/indentlogConfig.cmake.in | 1 + .../cmake/xo_interpreterConfig.cmake.in | 1 + .../cmake/xo_interpreter2Config.cmake.in | 1 + xo-jit/cmake/xo_jitConfig.cmake.in | 1 + .../cmake/xo_kalmanfilterConfig.cmake.in | 1 + xo-object/cmake/xo_objectConfig.cmake.in | 1 + xo-object2/cmake/xo_object2Config.cmake.in | 1 + .../cmake/xo_ordinaltreeConfig.cmake.in | 1 + .../cmake/xo_printable2Config.cmake.in | 1 + xo-printjson/cmake/printjsonConfig.cmake.in | 1 + .../cmake/xo_procedure2Config.cmake.in | 1 + xo-process/cmake/processConfig.cmake.in | 1 + .../cmake/xo_pydistributionConfig.cmake.in | 1 + .../cmake/xo_pyexpressionConfig.cmake.in | 1 + xo-pyjit/cmake/xo_pyjitConfig.cmake.in | 1 + .../cmake/xo_pykalmanfilterConfig.cmake.in | 1 + .../cmake/xo_pyprintjsonConfig.cmake.in | 1 + .../cmake/xo_pyprocessConfig.cmake.in | 1 + .../cmake/xo_pyreactorConfig.cmake.in | 1 + .../cmake/xo_pyreflectConfig.cmake.in | 1 + .../cmake/xo_pyprintjsonConfig.cmake.in | 1 + .../cmake/xo_pysimulatorConfig.cmake.in | 1 + xo-pyunit/cmake/xo_pyunitConfig.cmake.in | 1 + xo-pyutil/cmake/xo_pyutilConfig.cmake.in | 1 + .../cmake/xo_pywebsockConfig.cmake.in | 1 + .../cmake/xo_pywebutilConfig.cmake.in | 1 + xo-randomgen/cmake/randomgenConfig.cmake.in | 1 + xo-ratio/cmake/xo_ratioConfig.cmake.in | 1 + xo-reactor/cmake/reactorConfig.cmake.in | 1 + xo-reader/cmake/xo_readerConfig.cmake.in | 1 + xo-reader2/cmake/xo_reader2Config.cmake.in | 1 + xo-refcnt/cmake/refcntConfig.cmake.in | 1 + xo-reflect/cmake/reflectConfig.cmake.in | 1 + .../cmake/xo_reflectutilConfig.cmake.in | 1 + xo-simulator/cmake/simulatorConfig.cmake.in | 1 + .../cmake/xo_statisticsConfig.cmake.in | 1 + xo-subsys/cmake/subsysConfig.cmake.in | 1 + .../cmake/xo_symboltableConfig.cmake.in | 1 + .../cmake/xo_tokenizerConfig.cmake.in | 1 + .../cmake/xo_tokenizer2Config.cmake.in | 1 + xo-unit/cmake/xo_unitConfig.cmake.in | 1 + xo-websock/cmake/websockConfig.cmake.in | 1 + xo-webutil/cmake/webutilConfig.cmake.in | 1 + 56 files changed, 146 insertions(+) create mode 100644 xo-cmake/docs/history/2026/cmake-facet-export.rst diff --git a/xo-alloc/cmake/xo_allocConfig.cmake.in b/xo-alloc/cmake/xo_allocConfig.cmake.in index 97574de5..e627df64 100644 --- a/xo-alloc/cmake/xo_allocConfig.cmake.in +++ b/xo-alloc/cmake/xo_allocConfig.cmake.in @@ -7,4 +7,5 @@ find_dependency(indentlog) find_dependency(reflect) find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-alloc2/cmake/xo_alloc2Config.cmake.in b/xo-alloc2/cmake/xo_alloc2Config.cmake.in index 16819c3d..e226be2e 100644 --- a/xo-alloc2/cmake/xo_alloc2Config.cmake.in +++ b/xo-alloc2/cmake/xo_alloc2Config.cmake.in @@ -5,4 +5,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_arena) find_dependency(xo_facet) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-allocutil/cmake/xo_allocutilConfig.cmake.in b/xo-allocutil/cmake/xo_allocutilConfig.cmake.in index 00b2de9b..a1cc0fc9 100644 --- a/xo-allocutil/cmake/xo_allocutilConfig.cmake.in +++ b/xo-allocutil/cmake/xo_allocutilConfig.cmake.in @@ -3,4 +3,5 @@ include(CMakeFindDependencyMacro) #find_dependency(randomgen) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-arena/cmake/xo_arenaConfig.cmake.in b/xo-arena/cmake/xo_arenaConfig.cmake.in index 1700fb8a..20b8f877 100644 --- a/xo-arena/cmake/xo_arenaConfig.cmake.in +++ b/xo-arena/cmake/xo_arenaConfig.cmake.in @@ -10,4 +10,5 @@ find_dependency(xo_reflectutil) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-callback/cmake/callbackConfig.cmake.in b/xo-callback/cmake/callbackConfig.cmake.in index f7176f38..d6c98d89 100644 --- a/xo-callback/cmake/callbackConfig.cmake.in +++ b/xo-callback/cmake/callbackConfig.cmake.in @@ -3,4 +3,5 @@ include(CMakeFindDependencyMacro) find_dependency(refcnt) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-cmake/cmake/xo_macros/xo_cxx.cmake b/xo-cmake/cmake/xo_macros/xo_cxx.cmake index 9c70505a..7966559a 100644 --- a/xo-cmake/cmake/xo_macros/xo_cxx.cmake +++ b/xo-cmake/cmake/xo_macros/xo_cxx.cmake @@ -1227,6 +1227,17 @@ macro(xo_export_cmake_config projectname projectversion projecttargets) PERMISSIONS OWNER_READ GROUP_READ WORLD_READ DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/${projectname} ) + # generate Share file that recreates share_${projectname} in consuming projects + file(WRITE "${PROJECT_BINARY_DIR}/${projectname}Share.cmake" + "if(NOT TARGET share_${projectname})\n" + " add_custom_target(share_${projectname})\n" + " set_property(TARGET share_${projectname} PROPERTY path\n" + " \"\${CMAKE_CURRENT_LIST_DIR}/../../../share/${projectname}\")\n" + "endif()\n") + install( + FILES "${PROJECT_BINARY_DIR}/${projectname}Share.cmake" + PERMISSIONS OWNER_READ GROUP_READ WORLD_READ + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/${projectname}) endmacro() # ---------------------------------------------------------------- diff --git a/xo-cmake/docs/history/2026/cmake-facet-export.rst b/xo-cmake/docs/history/2026/cmake-facet-export.rst new file mode 100644 index 00000000..f2de60d6 --- /dev/null +++ b/xo-cmake/docs/history/2026/cmake-facet-export.rst @@ -0,0 +1,81 @@ +cmake-facet-export +================== + +:date: 2026-02 + +Background +---------- + +``xo_add_genfacetimpl()`` in ``xo_cxx.cmake`` uses ``genfacet`` to regenerate facet +implementation boilerplate from ``.json5`` IDL files. When ``FACET_PKG`` is specified +(e.g. ``FACET_PKG xo_gc``), the macro resolves the IDL directory via a cmake custom target:: + + get_target_property(_facet_dir share_${GF_FACET_PKG} path) + +``share_${PROJECT_NAME}`` is a custom target created by ``xo_cxx_toplevel_options2()`` for +every xo satellite, with its ``path`` property set to ``${PROJECT_SOURCE_DIR}`` (the package +source root). Subdirectory ``idl/`` within that root holds the facet IDL files. + +Problem +------- + +Custom cmake targets are not exportable through the standard ``install(TARGETS ... EXPORT ...)`` +mechanism. As a result, ``share_xo_gc`` and similar targets do not exist when a satellite is +consumed as an installed dependency (e.g. in a standalone nix build or any build that uses +``find_package(xo_gc)`` rather than building xo-gc in the same cmake invocation). + +This caused ``nix-build -A xo.object2`` to fail at cmake configure time with:: + + CMake Error: get_target_property() called with non-existent target "share_xo_gc". + +xo-gc was unaffected because it uses only ``xo_add_genfacet()`` (which does not reference +``share_*`` targets), while xo-object2 uses ``xo_add_genfacetimpl()`` with ``FACET_PKG``. + +Immediate fix (2026-02) +----------------------- + +A guard was added to ``xo_add_genfacetimpl()`` to skip target creation gracefully when the +``share_*`` target is absent, since all callers annotate these as +``# note: manual target; generated code committed to git``:: + + if(NOT TARGET share_${GF_FACET_PKG}) + message(STATUS "xo_add_genfacetimpl: share_${GF_FACET_PKG} not available; skipping") + return() + endif() + +This unblocked the nix build while leaving a forward path to full support. + +Long-term design +---------------- + +To make ``xo_add_genfacetimpl()`` fully functional in standalone builds: + +1. **Export ``share_`` targets universally** — ``xo_export_cmake_config()`` generates and + installs a ``${PROJECT_NAME}Share.cmake`` file for every satellite. This file recreates + ``share_${PROJECT_NAME}`` pointing to the installed data root:: + + if(NOT TARGET share_xo_gc) + add_custom_target(share_xo_gc) + set_property(TARGET share_xo_gc PROPERTY path + "${CMAKE_CURRENT_LIST_DIR}/../../../share/xo_gc") + endif() + + Doing this universally (not only for facet-providers) keeps ``*Config.cmake.in`` templates + consistent and provides future-proofing for other attributes that may be added to + ``share_`` targets. + +2. **Include the Share file** — every ``cmake/${pkg}Config.cmake.in`` adds:: + + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") + +3. **Install IDL files** — packages whose IDL is consumed by ``xo_add_genfacetimpl()`` + install their ``idl/`` tree:: + + install(DIRECTORY idl/ + DESTINATION share/${PROJECT_NAME}/idl + FILES_MATCHING PATTERN "*.json5") + + This maps to the same relative path that ``genfacet`` would find under the source root. + +The skip-if-absent guard is retained as graceful degradation for older installed packages +that predate this change. diff --git a/xo-distribution/cmake/xo_distributionConfig.cmake.in b/xo-distribution/cmake/xo_distributionConfig.cmake.in index d906d196..dacd949e 100644 --- a/xo-distribution/cmake/xo_distributionConfig.cmake.in +++ b/xo-distribution/cmake/xo_distributionConfig.cmake.in @@ -3,4 +3,5 @@ include(CMakeFindDependencyMacro) find_dependency(refcnt) include("${CMAKE_CURRENT_LIST_DIR}/xo_distributionTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-expression/cmake/xo_expressionConfig.cmake.in b/xo-expression/cmake/xo_expressionConfig.cmake.in index 1560b468..3c6d3b16 100644 --- a/xo-expression/cmake/xo_expressionConfig.cmake.in +++ b/xo-expression/cmake/xo_expressionConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(reflect) find_dependency(xo_flatstring) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-expression2/cmake/xo_expression2Config.cmake.in b/xo-expression2/cmake/xo_expression2Config.cmake.in index 15ff18ff..ca2e2ccb 100644 --- a/xo-expression2/cmake/xo_expression2Config.cmake.in +++ b/xo-expression2/cmake/xo_expression2Config.cmake.in @@ -15,4 +15,5 @@ find_dependency(cmake) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-facet/cmake/xo_facetConfig.cmake.in b/xo-facet/cmake/xo_facetConfig.cmake.in index 23483949..d4ded169 100644 --- a/xo-facet/cmake/xo_facetConfig.cmake.in +++ b/xo-facet/cmake/xo_facetConfig.cmake.in @@ -5,4 +5,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_arena) find_dependency(xo_reflectutil) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-flatstring/cmake/xo_flatstringConfig.cmake.in b/xo-flatstring/cmake/xo_flatstringConfig.cmake.in index e5ee1778..c6b988e1 100644 --- a/xo-flatstring/cmake/xo_flatstringConfig.cmake.in +++ b/xo-flatstring/cmake/xo_flatstringConfig.cmake.in @@ -14,4 +14,5 @@ include(CMakeFindDependencyMacro) #find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-gc/cmake/xo_gcConfig.cmake.in b/xo-gc/cmake/xo_gcConfig.cmake.in index a7eea6c0..548eb737 100644 --- a/xo-gc/cmake/xo_gcConfig.cmake.in +++ b/xo-gc/cmake/xo_gcConfig.cmake.in @@ -7,4 +7,5 @@ find_dependency(subsys) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-indentlog/cmake/indentlogConfig.cmake.in b/xo-indentlog/cmake/indentlogConfig.cmake.in index cc57615e..38c9e093 100644 --- a/xo-indentlog/cmake/indentlogConfig.cmake.in +++ b/xo-indentlog/cmake/indentlogConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/indentlogTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-interpreter/cmake/xo_interpreterConfig.cmake.in b/xo-interpreter/cmake/xo_interpreterConfig.cmake.in index 1cf48ccd..a1dba569 100644 --- a/xo-interpreter/cmake/xo_interpreterConfig.cmake.in +++ b/xo-interpreter/cmake/xo_interpreterConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_alloc) #find_dependency(xo_flatstring) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-interpreter2/cmake/xo_interpreter2Config.cmake.in b/xo-interpreter2/cmake/xo_interpreter2Config.cmake.in index bea8e9cc..3310d075 100644 --- a/xo-interpreter2/cmake/xo_interpreter2Config.cmake.in +++ b/xo-interpreter2/cmake/xo_interpreter2Config.cmake.in @@ -10,4 +10,5 @@ find_dependency(xo_expression2) find_dependency(xo_gc) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-jit/cmake/xo_jitConfig.cmake.in b/xo-jit/cmake/xo_jitConfig.cmake.in index 26d2315a..a9203adb 100644 --- a/xo-jit/cmake/xo_jitConfig.cmake.in +++ b/xo-jit/cmake/xo_jitConfig.cmake.in @@ -3,4 +3,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_expression) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-kalmanfilter/cmake/xo_kalmanfilterConfig.cmake.in b/xo-kalmanfilter/cmake/xo_kalmanfilterConfig.cmake.in index 950e70c0..9744c624 100644 --- a/xo-kalmanfilter/cmake/xo_kalmanfilterConfig.cmake.in +++ b/xo-kalmanfilter/cmake/xo_kalmanfilterConfig.cmake.in @@ -14,4 +14,5 @@ find_dependency(Eigen3) #find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-object/cmake/xo_objectConfig.cmake.in b/xo-object/cmake/xo_objectConfig.cmake.in index df95c47b..df79b605 100644 --- a/xo-object/cmake/xo_objectConfig.cmake.in +++ b/xo-object/cmake/xo_objectConfig.cmake.in @@ -8,4 +8,5 @@ find_dependency(callback) #find_dependency(xo_alloc) #find_dependency(xo_flatstring) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-object2/cmake/xo_object2Config.cmake.in b/xo-object2/cmake/xo_object2Config.cmake.in index 6773adb7..22772095 100644 --- a/xo-object2/cmake/xo_object2Config.cmake.in +++ b/xo-object2/cmake/xo_object2Config.cmake.in @@ -7,4 +7,5 @@ find_dependency(xo_printable2) find_dependency(subsys) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-ordinaltree/cmake/xo_ordinaltreeConfig.cmake.in b/xo-ordinaltree/cmake/xo_ordinaltreeConfig.cmake.in index 9884d371..594156f1 100644 --- a/xo-ordinaltree/cmake/xo_ordinaltreeConfig.cmake.in +++ b/xo-ordinaltree/cmake/xo_ordinaltreeConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(randomgen) find_dependency(xo_allocutil) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-printable2/cmake/xo_printable2Config.cmake.in b/xo-printable2/cmake/xo_printable2Config.cmake.in index 985fc324..3bcd63df 100644 --- a/xo-printable2/cmake/xo_printable2Config.cmake.in +++ b/xo-printable2/cmake/xo_printable2Config.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(indentlog) find_dependency(xo_facet) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-printjson/cmake/printjsonConfig.cmake.in b/xo-printjson/cmake/printjsonConfig.cmake.in index 9417e239..82e349a8 100644 --- a/xo-printjson/cmake/printjsonConfig.cmake.in +++ b/xo-printjson/cmake/printjsonConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(reflect) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-procedure2/cmake/xo_procedure2Config.cmake.in b/xo-procedure2/cmake/xo_procedure2Config.cmake.in index 867a3535..fa6ee3cd 100644 --- a/xo-procedure2/cmake/xo_procedure2Config.cmake.in +++ b/xo-procedure2/cmake/xo_procedure2Config.cmake.in @@ -11,4 +11,5 @@ find_dependency(xo_gc) find_dependency(subsys) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-process/cmake/processConfig.cmake.in b/xo-process/cmake/processConfig.cmake.in index dc6207c5..c8ec3a92 100644 --- a/xo-process/cmake/processConfig.cmake.in +++ b/xo-process/cmake/processConfig.cmake.in @@ -10,4 +10,5 @@ find_dependency(reactor) find_dependency(printjson) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pydistribution/cmake/xo_pydistributionConfig.cmake.in b/xo-pydistribution/cmake/xo_pydistributionConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pydistribution/cmake/xo_pydistributionConfig.cmake.in +++ b/xo-pydistribution/cmake/xo_pydistributionConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyexpression/cmake/xo_pyexpressionConfig.cmake.in b/xo-pyexpression/cmake/xo_pyexpressionConfig.cmake.in index dc1d5e3d..0d02261b 100644 --- a/xo-pyexpression/cmake/xo_pyexpressionConfig.cmake.in +++ b/xo-pyexpression/cmake/xo_pyexpressionConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_expression) find_dependency(xo_pyreflect) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyjit/cmake/xo_pyjitConfig.cmake.in b/xo-pyjit/cmake/xo_pyjitConfig.cmake.in index 5d7de08a..8ffcf9dc 100644 --- a/xo-pyjit/cmake/xo_pyjitConfig.cmake.in +++ b/xo-pyjit/cmake/xo_pyjitConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_jit) find_dependency(xo_pyexpression) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pykalmanfilter/cmake/xo_pykalmanfilterConfig.cmake.in b/xo-pykalmanfilter/cmake/xo_pykalmanfilterConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pykalmanfilter/cmake/xo_pykalmanfilterConfig.cmake.in +++ b/xo-pykalmanfilter/cmake/xo_pykalmanfilterConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyprintjson/cmake/xo_pyprintjsonConfig.cmake.in b/xo-pyprintjson/cmake/xo_pyprintjsonConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pyprintjson/cmake/xo_pyprintjsonConfig.cmake.in +++ b/xo-pyprintjson/cmake/xo_pyprintjsonConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyprocess/cmake/xo_pyprocessConfig.cmake.in b/xo-pyprocess/cmake/xo_pyprocessConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pyprocess/cmake/xo_pyprocessConfig.cmake.in +++ b/xo-pyprocess/cmake/xo_pyprocessConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyreactor/cmake/xo_pyreactorConfig.cmake.in b/xo-pyreactor/cmake/xo_pyreactorConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pyreactor/cmake/xo_pyreactorConfig.cmake.in +++ b/xo-pyreactor/cmake/xo_pyreactorConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyreflect/cmake/xo_pyreflectConfig.cmake.in b/xo-pyreflect/cmake/xo_pyreflectConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pyreflect/cmake/xo_pyreflectConfig.cmake.in +++ b/xo-pyreflect/cmake/xo_pyreflectConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyrprintjson/cmake/xo_pyprintjsonConfig.cmake.in b/xo-pyrprintjson/cmake/xo_pyprintjsonConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pyrprintjson/cmake/xo_pyprintjsonConfig.cmake.in +++ b/xo-pyrprintjson/cmake/xo_pyprintjsonConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pysimulator/cmake/xo_pysimulatorConfig.cmake.in b/xo-pysimulator/cmake/xo_pysimulatorConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pysimulator/cmake/xo_pysimulatorConfig.cmake.in +++ b/xo-pysimulator/cmake/xo_pysimulatorConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyunit/cmake/xo_pyunitConfig.cmake.in b/xo-pyunit/cmake/xo_pyunitConfig.cmake.in index 18187c96..bf479a08 100644 --- a/xo-pyunit/cmake/xo_pyunitConfig.cmake.in +++ b/xo-pyunit/cmake/xo_pyunitConfig.cmake.in @@ -8,4 +8,5 @@ find_dependency(refcnt) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pyutil/cmake/xo_pyutilConfig.cmake.in b/xo-pyutil/cmake/xo_pyutilConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pyutil/cmake/xo_pyutilConfig.cmake.in +++ b/xo-pyutil/cmake/xo_pyutilConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pywebsock/cmake/xo_pywebsockConfig.cmake.in b/xo-pywebsock/cmake/xo_pywebsockConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-pywebsock/cmake/xo_pywebsockConfig.cmake.in +++ b/xo-pywebsock/cmake/xo_pywebsockConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-pywebutil/cmake/xo_pywebutilConfig.cmake.in b/xo-pywebutil/cmake/xo_pywebutilConfig.cmake.in index 18eaf04d..fd1c4b68 100644 --- a/xo-pywebutil/cmake/xo_pywebutilConfig.cmake.in +++ b/xo-pywebutil/cmake/xo_pywebutilConfig.cmake.in @@ -3,4 +3,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_pyutil) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-randomgen/cmake/randomgenConfig.cmake.in b/xo-randomgen/cmake/randomgenConfig.cmake.in index e66430b0..d835ad0d 100644 --- a/xo-randomgen/cmake/randomgenConfig.cmake.in +++ b/xo-randomgen/cmake/randomgenConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/randomgenTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-ratio/cmake/xo_ratioConfig.cmake.in b/xo-ratio/cmake/xo_ratioConfig.cmake.in index b7a5a0a2..6f4bfb56 100644 --- a/xo-ratio/cmake/xo_ratioConfig.cmake.in +++ b/xo-ratio/cmake/xo_ratioConfig.cmake.in @@ -14,4 +14,5 @@ find_dependency(xo_flatstring) #find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-reactor/cmake/reactorConfig.cmake.in b/xo-reactor/cmake/reactorConfig.cmake.in index 19ea52a2..6079b76a 100644 --- a/xo-reactor/cmake/reactorConfig.cmake.in +++ b/xo-reactor/cmake/reactorConfig.cmake.in @@ -13,4 +13,5 @@ find_dependency(printjson) find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-reader/cmake/xo_readerConfig.cmake.in b/xo-reader/cmake/xo_readerConfig.cmake.in index 6eadeb07..94b1811e 100644 --- a/xo-reader/cmake/xo_readerConfig.cmake.in +++ b/xo-reader/cmake/xo_readerConfig.cmake.in @@ -5,4 +5,5 @@ find_dependency(xo_expression) find_dependency(xo_tokenizer) #find_dependency(subsys) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-reader2/cmake/xo_reader2Config.cmake.in b/xo-reader2/cmake/xo_reader2Config.cmake.in index ed161c20..26ab1dae 100644 --- a/xo-reader2/cmake/xo_reader2Config.cmake.in +++ b/xo-reader2/cmake/xo_reader2Config.cmake.in @@ -13,4 +13,5 @@ find_dependency(xo_expression2) find_dependency(subsys) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-refcnt/cmake/refcntConfig.cmake.in b/xo-refcnt/cmake/refcntConfig.cmake.in index edc16a80..4df193f6 100644 --- a/xo-refcnt/cmake/refcntConfig.cmake.in +++ b/xo-refcnt/cmake/refcntConfig.cmake.in @@ -4,4 +4,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_reflectutil) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-reflect/cmake/reflectConfig.cmake.in b/xo-reflect/cmake/reflectConfig.cmake.in index ce449a35..b7c79684 100644 --- a/xo-reflect/cmake/reflectConfig.cmake.in +++ b/xo-reflect/cmake/reflectConfig.cmake.in @@ -5,4 +5,5 @@ find_dependency(refcnt) find_dependency(indentlog) find_dependency(subsys) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-reflectutil/cmake/xo_reflectutilConfig.cmake.in b/xo-reflectutil/cmake/xo_reflectutilConfig.cmake.in index 26df0fc7..b57e2bb5 100644 --- a/xo-reflectutil/cmake/xo_reflectutilConfig.cmake.in +++ b/xo-reflectutil/cmake/xo_reflectutilConfig.cmake.in @@ -9,4 +9,5 @@ include(CMakeFindDependencyMacro) #find_dependency(xo_flatstring) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-simulator/cmake/simulatorConfig.cmake.in b/xo-simulator/cmake/simulatorConfig.cmake.in index 4f721e9f..c6853935 100644 --- a/xo-simulator/cmake/simulatorConfig.cmake.in +++ b/xo-simulator/cmake/simulatorConfig.cmake.in @@ -10,4 +10,5 @@ find_dependency(reactor) #find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-statistics/cmake/xo_statisticsConfig.cmake.in b/xo-statistics/cmake/xo_statisticsConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-statistics/cmake/xo_statisticsConfig.cmake.in +++ b/xo-statistics/cmake/xo_statisticsConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-subsys/cmake/subsysConfig.cmake.in b/xo-subsys/cmake/subsysConfig.cmake.in index 9c15f36a..eb9a3b16 100644 --- a/xo-subsys/cmake/subsysConfig.cmake.in +++ b/xo-subsys/cmake/subsysConfig.cmake.in @@ -1,4 +1,5 @@ @PACKAGE_INIT@ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-symboltable/cmake/xo_symboltableConfig.cmake.in b/xo-symboltable/cmake/xo_symboltableConfig.cmake.in index 32e5b030..204efa7f 100644 --- a/xo-symboltable/cmake/xo_symboltableConfig.cmake.in +++ b/xo-symboltable/cmake/xo_symboltableConfig.cmake.in @@ -5,4 +5,5 @@ include(CMakeFindDependencyMacro) find_dependency(xo_alloc) #find_dependency(xo_flatstring) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-tokenizer/cmake/xo_tokenizerConfig.cmake.in b/xo-tokenizer/cmake/xo_tokenizerConfig.cmake.in index f13d9e2b..e1b8fe7a 100644 --- a/xo-tokenizer/cmake/xo_tokenizerConfig.cmake.in +++ b/xo-tokenizer/cmake/xo_tokenizerConfig.cmake.in @@ -5,4 +5,5 @@ include(CMakeFindDependencyMacro) find_dependency(indentlog) #find_dependency(subsys) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-tokenizer2/cmake/xo_tokenizer2Config.cmake.in b/xo-tokenizer2/cmake/xo_tokenizer2Config.cmake.in index 13f1dac1..eccd2745 100644 --- a/xo-tokenizer2/cmake/xo_tokenizer2Config.cmake.in +++ b/xo-tokenizer2/cmake/xo_tokenizer2Config.cmake.in @@ -10,4 +10,5 @@ find_dependency(xo_arena) find_dependency(indentlog) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-unit/cmake/xo_unitConfig.cmake.in b/xo-unit/cmake/xo_unitConfig.cmake.in index 849efa07..79865d60 100644 --- a/xo-unit/cmake/xo_unitConfig.cmake.in +++ b/xo-unit/cmake/xo_unitConfig.cmake.in @@ -9,4 +9,5 @@ find_dependency(indentlog) #find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-websock/cmake/websockConfig.cmake.in b/xo-websock/cmake/websockConfig.cmake.in index 3e03d576..c926812b 100644 --- a/xo-websock/cmake/websockConfig.cmake.in +++ b/xo-websock/cmake/websockConfig.cmake.in @@ -11,4 +11,5 @@ find_dependency(webutil) find_dependency(Libwebsockets) include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@") diff --git a/xo-webutil/cmake/webutilConfig.cmake.in b/xo-webutil/cmake/webutilConfig.cmake.in index 79a9df3d..6867c0da 100644 --- a/xo-webutil/cmake/webutilConfig.cmake.in +++ b/xo-webutil/cmake/webutilConfig.cmake.in @@ -3,4 +3,5 @@ include(CMakeFindDependencyMacro) find_dependency(callback) include("${CMAKE_CURRENT_LIST_DIR}/webutilTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Share.cmake") check_required_components("@PROJECT_NAME@")