From 76a922700184f9aef021719f3f5b165a60a1ed50 Mon Sep 17 00:00:00 2001 From: Monty Date: Thu, 20 Aug 2020 17:28:12 +0300 Subject: [PATCH] Added support of WITH_GPROF to cmake --- BUILD/SETUP.sh | 5 +++-- CMakeLists.txt | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/BUILD/SETUP.sh b/BUILD/SETUP.sh index 82262098d7a..d9d8b977644 100755 --- a/BUILD/SETUP.sh +++ b/BUILD/SETUP.sh @@ -315,10 +315,11 @@ gcov_configs="--with-gcov" # gprof -gprof_compile_flags="-O2 -pg -g" +gprof_compile_flags="-O2" +# Rest of the flags are set in CmakeFile.txt gprof_link_flags="--disable-shared $static_link" -disable_gprof_plugins="--with-zlib-dir=bundled --without-plugin-oqgraph --without-plugin-mroonga" +disable_gprof_plugins="--with-zlib-dir=bundled --without-plugin-oqgraph --without-plugin-mroonga --with-gprof" disable_asan_plugins="--without-plugin-rocksdb" diff --git a/CMakeLists.txt b/CMakeLists.txt index 80fac4b2ccc..36922e04368 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -242,13 +242,18 @@ IF (WITH_MSAN) MY_CHECK_AND_SET_COMPILER_FLAG("-fsanitize=memory -fsanitize-memory-track-origins -U_FORTIFY_SOURCE" DEBUG RELWITHDEBINFO) ENDIF() +OPTION(WITH_GPROF "Enable profilingg with gprof" OFF) +IF (WITH_GPROF) + MY_CHECK_AND_SET_COMPILER_FLAG("-pg -g -no-pie -fPIC") +ENDIF() + # Be nice to profilers etc MY_CHECK_AND_SET_COMPILER_FLAG("-fno-omit-frame-pointer" RELWITHDEBINFO) # enable security hardening features, like most distributions do # in our benchmarks that costs about ~1% of performance, depending on the load OPTION(SECURITY_HARDENED "Use security-enhancing compiler features (stack protector, relro, etc)" ON) -IF(SECURITY_HARDENED AND NOT WITH_ASAN AND NOT WITH_UBSAN AND NOT WITH_TSAN) +IF(SECURITY_HARDENED AND NOT WITH_ASAN AND NOT WITH_UBSAN AND NOT WITH_TSAN AND NOT WITH_GPROF) # security-enhancing flags MY_CHECK_AND_SET_COMPILER_FLAG("-pie -fPIC") MY_CHECK_AND_SET_LINKER_FLAG("-Wl,-z,relro,-z,now")