aboutsummaryrefslogtreecommitdiff
path: root/kde-modules
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2019-07-23 00:16:51 +0200
committerDavid Faure <faure@kde.org>2019-07-23 12:46:05 +0200
commita212a92190d4b85d9276af9ee70f66dd140fcdb0 (patch)
tree85039d5b822df2cee243276069c5c7b622f8d59f /kde-modules
parent5478a88d5ffecfb93af25632f86a00d1c3a06cda (diff)
downloadextra-cmake-modules-a212a92190d4b85d9276af9ee70f66dd140fcdb0.tar.gz
extra-cmake-modules-a212a92190d4b85d9276af9ee70f66dd140fcdb0.tar.bz2
Make the default build type "Debug" when compiling a git checkout.
Summary: The idea comes from https://blog.kitware.com/cmake-and-the-default-build-type/ but I adapted it to leave it empty for tarballs, to avoid messing up distribution packaging. The goal is to make this more sensible for [new] developers who just run cmake and end up with a "no debug symbols, no optimizations" build, i.e. the one and only completely useless combination of those two flags. Possible risk: distributions who compile from git checkouts... Test Plan: "mkdir build ; cd build ; cmake .." in kblog leads to CMAKE_BUILD_TYPE=Debug Reviewers: kde-buildsystem, cgiboudeaux Reviewed By: cgiboudeaux Subscribers: cgiboudeaux, apol, kde-frameworks-devel Tags: #frameworks, #build_system Differential Revision: https://phabricator.kde.org/D22667
Diffstat (limited to 'kde-modules')
-rw-r--r--kde-modules/KDECompilerSettings.cmake17
1 files changed, 17 insertions, 0 deletions
diff --git a/kde-modules/KDECompilerSettings.cmake b/kde-modules/KDECompilerSettings.cmake
index b60e4ea1..41a4a2e5 100644
--- a/kde-modules/KDECompilerSettings.cmake
+++ b/kde-modules/KDECompilerSettings.cmake
@@ -67,6 +67,23 @@
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
############################################################
+# Default build type
+# If no build type was specified, default to using a debug build if the
+# source directory is a git clone.
+# Otherwise, leave it empty, to let distro packagers choose the flags.
+############################################################
+if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
+ if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
+ set(default_build_type "Debug")
+ message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY VALUE "${default_build_type}")
+ # Set the possible values of build type for cmake-gui
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
+ "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
+ endif()
+endif()
+
+############################################################
# Toolchain minimal requirements
#
# Note that only compilers officially supported by Qt are