From a1b707c4d8934091b91f9286ca5799af9633e790 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 11 Mar 2026 09:14:30 -0500 Subject: [PATCH] cmake build: + xo-genfacet-all target for umbrella build --- cmake/xo_macros/xo_cxx.cmake | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmake/xo_macros/xo_cxx.cmake b/cmake/xo_macros/xo_cxx.cmake index 13ca3f9..4506cea 100644 --- a/cmake/xo_macros/xo_cxx.cmake +++ b/cmake/xo_macros/xo_cxx.cmake @@ -1806,7 +1806,22 @@ function(xo_add_genfacet_all target_name) get_property(genfacet_targets DIRECTORY PROPERTY XO_GENFACET_TARGETS) if(genfacet_targets) add_custom_target(${target_name} DEPENDS ${genfacet_targets}) + + if(XO_SUBMODULE_BUILD) + set_property(GLOBAL APPEND PROPERTY XO_UMBRELLA_GENFACET_TARGETS ${target_name}) + endif() else() message(WARNING "xo_add_genfacet_all: no genfacet targets found") endif() endfunction() + +# create umbrella target that depends on all per-satellite genfacet-all targets. +# only meaningful in umbrella build (XO_SUBMODULE_BUILD=True). +function(xo_umbrella_genfacet_all target_name) + get_property(all_targets GLOBAL PROPERTY XO_UMBRELLA_GENFACET_TARGETS) + if(all_targets) + add_custom_target(${target_name} DEPENDS ${all_targets}) + else() + message(WARNING "xo_umbrella_genfacet_all: no umbrella genfacet targets found") + endif() +endfunction()