From c75a08354182331a1fd89f387a3f8615d8cf0996 Mon Sep 17 00:00:00 2001 From: pentarctagon Date: Sat, 21 Apr 2018 19:09:13 -0500 Subject: [PATCH] Allow specifying a sanitizer with cmake. (cherry-picked from commit 5b94101975abd1ab81cc79bc18710478129446af) --- CMakeLists.txt | 6 ++++++ utils/travis/docker_run.sh | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c491b1fb2201..c030ae5719d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -228,6 +228,12 @@ if(ENABLE_PEDANTIC_COMPILATION) endif(ENABLE_PEDANTIC_COMPILATION) +# check for sanitizer options +if(SANITIZE) + set(COMPILER_FLAGS "${COMPILER_FLAGS} -fsanitize=${SANITIZE}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${SANITIZE}") +endif(SANITIZE) + ### Set the final compiler flags. set(COMPILER_FLAGS "${COMPILER_FLAGS} ${CXX_FLAGS_USER}") diff --git a/utils/travis/docker_run.sh b/utils/travis/docker_run.sh index 86dc60a028ad..6728d911f24d 100755 --- a/utils/travis/docker_run.sh +++ b/utils/travis/docker_run.sh @@ -65,7 +65,7 @@ else echo "compiler_check = content" >> $HOME/.ccache/ccache.conf cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GAME=true -DENABLE_SERVER=true -DENABLE_CAMPAIGN_SERVER=true -DENABLE_TESTS=true -DENABLE_NLS=false \ - -DEXTRA_FLAGS_CONFIG="-pipe" -DOPT="$OPT" -DENABLE_STRICT_COMPILATION="$STRICT" -DENABLE_LTO="$LTO" -DLTO_JOBS=2 -DENABLE_MYSQL=true \ + -DEXTRA_FLAGS_CONFIG="-pipe" -DOPT="$OPT" -DENABLE_STRICT_COMPILATION="$STRICT" -DENABLE_LTO="$LTO" -DLTO_JOBS=2 -DENABLE_MYSQL=true -DSANITIZE="$SAN" \ -DCXX_STD="$CXXSTD" -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache && \ make VERBOSE=1 -j2 BUILD_RET=$?