commit 8a186ee3b953f9170782fcea8f9d5bcaf5d7e9fb parent 142821521b704ea7852b673d64d282521e6ca3a6 Author: dsp56300 <dsp56300@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:45:25 +0200 disable LTO on GCC <= 11.4 Diffstat:
M | base.cmake | | | 23 | ++++++++++++++--------- |
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/base.cmake b/base.cmake @@ -66,17 +66,22 @@ else() string(APPEND CMAKE_CXX_FLAGS " -msse") endif() - cmake_policy(SET CMP0069 NEW) - include(CheckIPOSupported) - - check_ipo_supported(RESULT result) - if(result) - message(STATUS "IPO is supported") - set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE) + # GCC <= 11 has LTO issues + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 11.4) + message(WARNING "LTO disabled due to GCC version <= 11.4.0 causing issues") else() - message(WARNING "IPO is not supported") + cmake_policy(SET CMP0069 NEW) + include(CheckIPOSupported) + + check_ipo_supported(RESULT result) + if(result) + message(STATUS "IPO is supported") + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE) + else() + message(WARNING "IPO is not supported") + endif() endif() - + string(APPEND CMAKE_C_FLAGS_RELEASE " -Ofast -fno-stack-protector") string(APPEND CMAKE_CXX_FLAGS_RELEASE " -Ofast -fno-stack-protector") string(APPEND CMAKE_CXX_FLAGS_DEBUG " -rdynamic")