From: Mathias Preiner Date: Wed, 26 Sep 2018 00:33:48 +0000 (-0700) Subject: cmake: Add check for GCC 4.5.1 and warn user. (#2533) X-Git-Tag: cvc5-1.0.0~4503 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d99fd71ff090bcab3d4569a7f30458a6b0f573fe;p=cvc5.git cmake: Add check for GCC 4.5.1 and warn user. (#2533) --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 453f1bcf7..3eced0885 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -216,6 +216,24 @@ endif() # allow calling ctest from the root build directory. enable_testing() +#-----------------------------------------------------------------------------# +# Check GCC version. +# +# GCC version 4.5.1 builds MiniSat incorrectly with -O2, which results in +# incorrect answers. + +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} -dumpversion + OUTPUT_VARIABLE GCC_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(GCC_VERSION VERSION_EQUAL "4.5.1") + message(FATAL_ERROR + "GCC 4.5.1's optimizer is known to build MiniSat incorrectly " + "(and by extension CVC4).") + endif() +endif() + #-----------------------------------------------------------------------------# # Check options, find packages and configure build.