diff --git a/CMakeLists.txt b/CMakeLists.txt index c05a628412f532c2bb1055acd90ca6d2de59c221..ac86b67e16fb4d3b5bdf6b32dc81b1f4046ba437 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." )