From d45e57a5a4703c2f12a2d3f2bde6fd615ba8af7c Mon Sep 17 00:00:00 2001 From: Growl Date: Mon, 20 Apr 2026 00:00:36 +0800 Subject: [PATCH 1/2] Don't check and install bundled Boost headers if CXX_API not required --- export/CMakeLists.txt.export | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/export/CMakeLists.txt.export b/export/CMakeLists.txt.export index 5474b1ff1..1bf97e4b2 100644 --- a/export/CMakeLists.txt.export +++ b/export/CMakeLists.txt.export @@ -796,7 +796,7 @@ install(CODE " ") # install bundled Boost headers if needed -if (NOT LIBINT_HAS_SYSTEM_BOOST_PREPROCESSOR_VARIADICS) +if (LIBINT2_REQUIRE_CXX_API AND NOT LIBINT_HAS_SYSTEM_BOOST_PREPROCESSOR_VARIADICS) install( DIRECTORY ${PROJECT_BINARY_DIR}/include/libint2/boost DESTINATION "${LIBINT2_INSTALL_INCLUDEDIR}/libint2" From 81c457aa809e8f56447bf1170cede26e19a45200 Mon Sep 17 00:00:00 2001 From: Growl Date: Tue, 23 Jun 2026 11:15:10 +0800 Subject: [PATCH 2/2] CMake: Export C++ API dependencies conditionally --- cmake/libint2-config.cmake.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/libint2-config.cmake.in b/cmake/libint2-config.cmake.in index dce83a3f4..73eaab5e2 100644 --- a/cmake/libint2-config.cmake.in +++ b/cmake/libint2-config.cmake.in @@ -55,6 +55,8 @@ list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) # check library language component include(CMakeFindDependencyMacro) +set(LIBINT2_REQUIRE_CXX_API @LIBINT2_REQUIRE_CXX_API@) +if(LIBINT2_REQUIRE_CXX_API) if(NOT TARGET Eigen3::Eigen) set(Eigen3_CONFIG @Eigen3_CONFIG@) if (NOT Eigen3_CONFIG OR NOT EXISTS ${Eigen3_CONFIG}) @@ -65,7 +67,6 @@ include(CMakeFindDependencyMacro) find_dependency(Eigen3 REQUIRED HINTS "${Eigen3_DIR}") endif() endif() - if (@LIBINT_HAS_SYSTEM_BOOST_PREPROCESSOR_VARIADICS@) # LIBINT_HAS_SYSTEM_BOOST_PREPROCESSOR_VARIADICS # Boost headers _not_ unpacked to within `include/libint2/` if (NOT TARGET Boost::headers) @@ -83,6 +84,7 @@ include(CMakeFindDependencyMacro) message(STATUS "Boost detected. satisfied by headers bundled with ${L2} distribution") endif() endif() +endif() # check orderings, AM, & derivatives components # * LIBINT2_SHGAUSS_ORDERING = @LIBINT2_SHGAUSS_ORDERING@