diff --git a/CMake/mingwcc.cmake b/CMake/mingwcc.cmake index d56c385a7..24e2df525 100644 --- a/CMake/mingwcc.cmake +++ b/CMake/mingwcc.cmake @@ -17,6 +17,3 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.3) - SET(DISABLE_LTO ON) -endif() diff --git a/CMake/mingwcc64.cmake b/CMake/mingwcc64.cmake index 657aaddd6..3c6657667 100644 --- a/CMake/mingwcc64.cmake +++ b/CMake/mingwcc64.cmake @@ -18,4 +18,3 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) SET(SYSTEM_BITS x64) -SET(DISABLE_LTO ON) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14dedbb08..f23326cd0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,6 +58,12 @@ else() LANGUAGES C CXX) endif() +if(WIN32 AND NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.3 OR SYSTEM_BITS MATCHES x64) + SET(DISABLE_LTO ON) + endif() +endif() + # Not a genexp because CMake doesn't support it # https://gitlab.kitware.com/cmake/cmake/-/issues/20546 if(NOT DISABLE_LTO)