From 11082c13d0e4f5848a2fd824c1a28dc1f7c9825f Mon Sep 17 00:00:00 2001 From: clanmills Date: Sun, 11 Oct 2020 19:59:28 +0100 Subject: [PATCH] Revert the last two changes. GitLab/centOS makes no sense. Will build on MacMini. --- .gitlab-ci.yml | 8 +++--- cmake/compilerFlags.cmake | 60 +++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d01a90f2..da665139 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,10 +59,10 @@ Ubuntu: <<: *default_config <<: *distro_build -CentOS: - image: centos:7 - <<: *default_config - <<: *distro_build +# CentOS: +# image: centos:7 +# <<: *default_config +# <<: *distro_build OpenSUSE: image: opensuse/tumbleweed diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake index 7b682531..ed0e1e33 100644 --- a/cmake/compilerFlags.cmake +++ b/cmake/compilerFlags.cmake @@ -58,36 +58,36 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN #add_compile_options(-fasynchronous-unwind-tables) -# if ( EXIV2_TEAM_USE_SANITIZERS ) -# # ASAN is available in gcc from 4.8 and UBSAN from 4.9 -# # ASAN is available in clang from 3.1 and UBSAN from 3.3 -# # UBSAN is not fatal by default, instead it only prints runtime errors to stderr -# # => make it fatal with -fno-sanitize-recover (gcc) or -fno-sanitize-recover=all (clang) -# # add -fno-omit-frame-pointer for better stack traces -# if ( COMPILER_IS_GCC ) -# if ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 ) -# set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover") -# elseif( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8 ) -# set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address") -# endif() -# elseif( COMPILER_IS_CLANG ) -# if ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 ) -# set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=all") -# elseif ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.4 ) -# set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address,undefined") -# elseif( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.1 ) -# set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address") -# endif() -# endif() -# -# # sorry, ASAN does not work on Windows -# if ( NOT CYGWIN AND NOT MINGW AND NOT MSYS ) -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") -# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") -# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SANITIZER_FLAGS}") -# set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SANITIZER_FLAGS}") -# endif() -# endif() + if ( EXIV2_TEAM_USE_SANITIZERS ) + # ASAN is available in gcc from 4.8 and UBSAN from 4.9 + # ASAN is available in clang from 3.1 and UBSAN from 3.3 + # UBSAN is not fatal by default, instead it only prints runtime errors to stderr + # => make it fatal with -fno-sanitize-recover (gcc) or -fno-sanitize-recover=all (clang) + # add -fno-omit-frame-pointer for better stack traces + if ( COMPILER_IS_GCC ) + if ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 ) + set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover") + elseif( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8 ) + set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address") + endif() + elseif( COMPILER_IS_CLANG ) + if ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 ) + set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=all") + elseif ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.4 ) + set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address,undefined") + elseif( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.1 ) + set(SANITIZER_FLAGS "-fno-omit-frame-pointer -fsanitize=address") + endif() + endif() + + # sorry, ASAN does not work on Windows + if ( NOT CYGWIN AND NOT MINGW AND NOT MSYS ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SANITIZER_FLAGS}") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SANITIZER_FLAGS}") + endif() + endif() endif() endif ()