diff options
author | Michael Kruse <llvm@meinersbur.de> | 2019-03-26 15:19:15 +0000 |
---|---|---|
committer | Michael Kruse <llvm@meinersbur.de> | 2019-03-26 15:19:15 +0000 |
commit | 3e3199a8000cd9d3b8f9f36a12798cc336fcd63f (patch) | |
tree | b941f04dbaf7e634df0ba44b65c5019186a0a247 | |
parent | fe2a27367ac6d6443246566e803a68390b786e4b (diff) |
[libomptarget] Introduce LIBOMPTARGET_ENABLE_DEBUG cmake option.
At the moment, support for runtime debug output using the
OMPTARGET_DEBUG=1 environment variable is only available with
CMAKE_BUILD_TYPE=Debug builds. The patch allows setting it independently
using the LIBOMPTARGET_ENABLE_DEBUG option, which is enabled by default
depending on CMAKE_BUILD_TYPE. That is, unless this option is set
explicitly, nothing changes. This is the same mechanism used by LLVM for
LLVM_ENABLE_ASSERTIONS.
This patch also removes adding -g -O0 in debug builds, it should be
handled by cmake's CMAKE_{C|CXX}_FLAGS_DEBUG configuration option.
Idea by Hal Finkel
Differential Revision: https://reviews.llvm.org/D55952
git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@356998 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | libomptarget/CMakeLists.txt | 12 | ||||
-rw-r--r-- | libomptarget/test/CMakeLists.txt | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/libomptarget/CMakeLists.txt b/libomptarget/CMakeLists.txt index 9bbb5e6..a953662 100644 --- a/libomptarget/CMakeLists.txt +++ b/libomptarget/CMakeLists.txt @@ -40,13 +40,17 @@ set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} nvptx64-nvidia-cuda") # the list of supported targets in the current system. set (LIBOMPTARGET_SYSTEM_TARGETS "") -# If building this library in debug mode, we define a macro to enable -# dumping progress messages at runtime. +# Check whether using debug mode. In debug mode, allow dumping progress +# messages at runtime by default. Otherwise, it can be enabled +# independently using the LIBOMPTARGET_ENABLE_DEBUG option. string( TOLOWER "${CMAKE_BUILD_TYPE}" LIBOMPTARGET_CMAKE_BUILD_TYPE) if(LIBOMPTARGET_CMAKE_BUILD_TYPE MATCHES debug) + option(LIBOMPTARGET_ENABLE_DEBUG "Allow debug output with the environment variable LIBOMPTARGET_DEBUG=1" ON) +else() + option(LIBOMPTARGET_ENABLE_DEBUG "Allow debug output with the environment variable LIBOMPTARGET_DEBUG=1" OFF) +endif() +if(LIBOMPTARGET_ENABLE_DEBUG) add_definitions(-DOMPTARGET_DEBUG) - add_definitions(-g) - add_definitions(-O0) endif() include_directories(include) diff --git a/libomptarget/test/CMakeLists.txt b/libomptarget/test/CMakeLists.txt index 5950c77..607801e 100644 --- a/libomptarget/test/CMakeLists.txt +++ b/libomptarget/test/CMakeLists.txt @@ -6,7 +6,7 @@ if(NOT OPENMP_TEST_COMPILER_ID STREQUAL "Clang" OR return() endif() -if(LIBOMPTARGET_CMAKE_BUILD_TYPE MATCHES debug) +if(LIBOMPTARGET_ENABLE_DEBUG) set(LIBOMPTARGET_DEBUG True) else() set(LIBOMPTARGET_DEBUG False) |