From 7e3d2f936da147dcf28a6a21a8097a48cf0fc8bd Mon Sep 17 00:00:00 2001 From: Petru Conduraru Date: Fri, 10 Jul 2026 18:24:14 +0300 Subject: [PATCH] build: do not request the header-only Boost.System component (build against Boost 1.70+) Boost.System has been header-only since Boost 1.69 and its compiled stub library was removed in newer Boost, so listing system in the requested find_package components makes configuration fail on Boost 1.70 and up (for example Boost 1.90 errors with "Could not find boost_system"). Boost.System is still pulled in transitively by thread / iostreams where it is needed, so drop it from the explicit component list. Verified: with this change IfcOpenShell configures and builds IfcConvert cleanly against Homebrew Boost 1.90 and OpenCASCADE 7.9.2. Co-Authored-By: Claude Opus 4.8 --- cmake/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f16b40c447..5f76c8dfcb 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -314,8 +314,12 @@ if(WASM_BUILD) else() # @todo review this, shouldn't this be all possible header-only now? # ... or rewritten using C++17 features? + # Boost.System has been header-only since 1.69 and its compiled stub library + # was dropped in newer Boost, so requesting it as a component makes + # find_package fail on Boost 1.70 and up (for example Boost 1.90). It is + # still pulled in transitively by thread / iostreams where needed, so do not + # request it explicitly. set(BOOST_COMPONENTS - system program_options regex thread