From 9fc67236c36ff4ad804b12bf7932eb6d6ba3caba Mon Sep 17 00:00:00 2001 From: Timo Kersten <kersten@in.tum.de> Date: Thu, 8 Nov 2018 10:26:54 +0100 Subject: [PATCH] Fixed: * Use O3 optimization level in Release and RelWithDebInfo builds * Use address sanitizer only in Debug build --- .clang-format | 4 ---- CMakeLists.txt | 11 ++++++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.clang-format b/.clang-format index e25220b..8aeea26 100644 --- a/.clang-format +++ b/.clang-format @@ -92,10 +92,6 @@ PenaltyBreakString: 1000 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 200 PointerAlignment: Left -RawStringFormats: - - Delimiter: pb - Language: TextProto - BasedOnStyle: google ReflowComments: true SortIncludes: true SortUsingDeclarations: true diff --git a/CMakeLists.txt b/CMakeLists.txt index d7b1291..aaf1a69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,8 +6,17 @@ set(CMAKE_CXX_COMPILER g++) set(CMAKE_CXX_STANDARD 17) # Compiler flags for the different targets -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fPIC -Wall -Wextra -fno-omit-frame-pointer -march=native -Wno-unknown-pragmas") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wextra -fno-omit-frame-pointer -march=native -Wno-unknown-pragmas") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fPIC -Wall -Wextra -fno-omit-frame-pointer -march=native") +# Only use address sanitizer in debug builds +set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -static-libasan") + + +# Make sure we use O3 optimization level instead of O2 +string(REPLACE "-O2" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -O3") +string(REPLACE "-O2" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3") find_package(Threads) -- GitLab