From d146fa04dd68d5ed58cb9688678d0d86845c2af5 Mon Sep 17 00:00:00 2001 From: Daniel Scharrer Date: Thu, 7 Jun 2018 06:56:26 +0200 Subject: [PATCH] CMake: Add DEBUG to user-visible configuration variables --- CMakeLists.txt | 16 ++++++++++++++-- .../{CXX11Check.cmake => CXXVersionCheck.cmake} | 0 2 files changed, 14 insertions(+), 2 deletions(-) rename cmake/{CXX11Check.cmake => CXXVersionCheck.cmake} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e255033..06db3b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,14 @@ endif() # Define configuration options +macro(suboption _var _comment _type _default) + if(NOT DEFINED ${_var}) + set(${_var} "${_default}") + else() + set(${_var} "${${_var}}" CACHE ${_type} "${_comment}") + endif() +endmacro() + option(STRICT_USE "Abort if there are missing optional dependencies" OFF) option(USE_LZMA "Build lzma decompression support" ON) set(WITH_CONV CACHE STRING "The library to use for charset conversions") @@ -20,9 +28,13 @@ option(SET_WARNING_FLAGS "Adjust compiler warning flags" ON) option(SET_OPTIMIZATION_FLAGS "Adjust compiler optimization flags" ON) option(USE_CXX11 "Try to use C++11 if available" ON) option(USE_DYNAMIC_UTIMENSAT "Dynamically load utimensat if not available at compile time" OFF) -if(NOT DEFINED DEBUG AND CMAKE_BUILD_TYPE STREQUAL "Debug") - set(DEBUG 1) + +set(default_DEBUG OFF) +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(default_DEBUG ON) endif() +suboption(DEBUG "Build with debug output" BOOL ${default_DEBUG}) + if(DEBUG) add_definitions(-DDEBUG=1) endif() diff --git a/cmake/CXX11Check.cmake b/cmake/CXXVersionCheck.cmake similarity index 100% rename from cmake/CXX11Check.cmake rename to cmake/CXXVersionCheck.cmake