From 2cb42c9d446459635733924462430946fb17bbca Mon Sep 17 00:00:00 2001 From: Hans-Christian Ebke Date: Wed, 14 Sep 2016 12:11:21 +0200 Subject: [PATCH] Added a little safeguard against GCC optimizer bug to CMakeLists.txt. --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c05a6284..ac86b67e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,14 @@ if("${PROJECT_NAME}" STREQUAL "") project (OpenMesh) endif() +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.9" OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "4.9") + message(WARNING "Your version of GCC contains an optimizer bug. Please verify that you do not use -O3!") + string(REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE_NEW "${CMAKE_CXX_FLAGS_RELEASE}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE_NEW}" CACHE STRING "" FORCE) + endif() +endif() + if ( WIN32 ) # This is the base directory for windows library search used in the finders we ship. set(CMAKE_WINDOWS_LIBS_DIR "c:/libs" CACHE STRING "Default Library search dir on windows." )