From 4b00c8ead084feab6fa8d9dd97ad5681f2fd6917 Mon Sep 17 00:00:00 2001 From: Steve Gerbino Date: Mon, 20 Jul 2026 15:13:57 +0200 Subject: [PATCH] Remove unconditional IPO disable on boost_capy The block forced INTERPROCEDURAL_OPTIMIZATION off on every platform to work around an MSVC LNK2016, but CMake never enables IPO by default, so it only fired when a consumer opted into LTO -- and then it opted capy out on GCC/Clang too, where the linker bug does not exist. Remove it and let CI show whether current MSVC still fails with IPO enabled. See #361. --- CMakeLists.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6be4a73ed..cc6dfa9b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,13 +126,7 @@ add_library(boost_capy include/boost/capy.hpp build/Jamfile ${BOOST_CAPY_HEADERS add_library(Boost::capy ALIAS boost_capy) boost_capy_setup_properties(boost_capy) -# Disable IPO/LTCG - causes LNK2016 errors with MSVC -set_target_properties(boost_capy PROPERTIES - EXPORT_NAME capy - INTERPROCEDURAL_OPTIMIZATION OFF - INTERPROCEDURAL_OPTIMIZATION_RELEASE OFF - INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO OFF - INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL OFF) +set_target_properties(boost_capy PROPERTIES EXPORT_NAME capy) include(GNUInstallDirs)