diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index b304e89d74f..abacd0500e5 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -610,7 +610,13 @@ endif() # GNU Compiler if(CMAKE_COMPILER_IS_GNUCC) - set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing") + # ffp-contract=off: + # Automatically turned on when building with "-march=native". This is + # explicitly turned off here as it will make floating point math give a bit + # different results. This will lead to automated test failures. So disable + # this until we support it. Seems to default to off in clang and the intel + # compiler. + set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -ffp-contract=off") # `maybe-uninitialized` is unreliable in release builds, but fine in debug builds. set(GCC_EXTRA_FLAGS_RELEASE "-Wno-maybe-uninitialized") diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index b1bb1d3654d..8167576a177 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -379,6 +379,9 @@ endif() # Subdirectories if(WITH_CYCLES_BLENDER) + # Not needed to make cycles automated tests pass with -march=native. + # However Blender itself needs this flag. + remove_cc_flag("-ffp-contract=off") add_definitions(-DWITH_BLENDER_GUARDEDALLOC) add_subdirectory(blender) endif()