From c245a801924ec89c572a1e79d9be13e4dd5615ac Mon Sep 17 00:00:00 2001 From: Jean-Louis Leroy Date: Sun, 24 May 2026 20:12:30 -0400 Subject: [PATCH] build.jam: fix b2 install so cmake config is generated for openmethod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two problems prevented `b2 install` from producing `lib/cmake/boost_openmethod-/boost_openmethod-config.cmake`, breaking downstream consumers that use `find_package(Boost CONFIG REQUIRED COMPONENTS openmethod)` (and the unified-cmake CI job): 1. The `boost_openmethod` alias used `usage-requirements` as a literal source name instead of the 5th argument position, and lived outside the `explicit` block. Move it inside `explicit` and put `include $(boost_dependencies)` in the usage-requirements slot, matching `assert`, `core`, `mp11`, `preprocessor`, etc. 2. The `call-if : boost-library openmethod` invocation had no `install` option, so the Jamroot fallback path declared empty install targets and `install-cmake-config` was called with no library names — no config files were generated. Add `: install boost_openmethod` so the library name reaches `install-or-stage-cmake-config`. Verified locally on Windows: `b2 install` now produces `lib/cmake/boost_openmethod-1.92.0/boost_openmethod-config.cmake` (and the matching `-config-version.cmake`) defining `Boost::openmethod`. Co-Authored-By: Claude Haiku 4.5 --- build.jam | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/build.jam b/build.jam index b3a4ab9c..bbeef66f 100644 --- a/build.jam +++ b/build.jam @@ -15,12 +15,12 @@ constant boost_dependencies project /boost/openmethod ; -alias boost_openmethod - : usage-requirements - include - $(boost_dependencies) +explicit + [ alias boost_openmethod : : : : include $(boost_dependencies) ] + [ alias all : boost_openmethod test ] ; -alias all : boost_openmethod test ; -explicit all ; -call-if : boost-library openmethod ; +call-if + : boost-library openmethod + : install boost_openmethod + ;