diff --git a/cmake/DefaultBuildFlags.cmake b/cmake/DefaultBuildFlags.cmake index 683767b3..ba18f8ed 100644 --- a/cmake/DefaultBuildFlags.cmake +++ b/cmake/DefaultBuildFlags.cmake @@ -7,3 +7,9 @@ endif() string(REPLACE "-O2" "-O3" CMAKE_C_FLAGS_RELEASE_INIT "${CMAKE_C_FLAGS_RELEASE_INIT}") string(REPLACE "-O2" "-O3" CMAKE_CXX_FLAGS_RELEASE_INIT "${CMAKE_CXX_FLAGS_RELEASE_INIT}") + +# Building with LTO causes an internal compiler error in GCC 15.1.0 +if (CMAKE_CXX_COMPILER_ID STREQUAL GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.1.1) + set(ENABLE_LTO_RELEASE OFF CACHE BOOL "Enable LTO for release builds" FORCE) + set(ENABLE_LTO OFF CACHE BOOL "Enable LTO" FORCE) +endif()