[krita/krita/4.1] /: Replace the KritaDevs build type with a cmake option

Boudewijn Rempt null at kde.org
Thu Jul 26 16:06:12 BST 2018


Git commit 18eed92c11641b835217f880f9f930dc0181a2b4 by Boudewijn Rempt.
Committed on 26/07/2018 at 14:56.
Pushed by rempt into branch 'krita/4.1'.

Replace the KritaDevs build type with a cmake option

Qt5's cmake scripts check the build type, and for anything other
than Debug append -DQT_NO_DEBUG, which disables Q_ASSERT. We
want to build with optimizations (-O3 -g) and without QT_NO_DEBUG
when developing Krita, so we catch the asserts and still have
a realistic performance.

CCMAIL:kimageshop at kde.org

M  +6    -3    CMakeLists.txt

https://commits.kde.org/krita/18eed92c11641b835217f880f9f930dc0181a2b4

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a6e4fab5e5..e625d01f37a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,7 +61,7 @@ if (APPLE)
 endif()
 
 if (CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9 AND NOT WIN32)
-    add_definitions(-Werror=delete-incomplete)
+
 endif()
 
  ######################
@@ -298,7 +298,6 @@ include (MacroEnsureOutOfSourceBuild)
 macro_ensure_out_of_source_build("Compiling Krita inside the source directory is not possible. Please refer to the build instruction https://community.kde.org/Krita#Build_Instructions")
 
 
-
 # Note: OPTIONAL_COMPONENTS does not seem to be reliable
 # (as of ECM 5.15.0, CMake 3.2)
 
@@ -396,10 +395,14 @@ add_definitions(-DTRANSLATION_DOMAIN=\"krita\")
 # The reason for this mode is that the Debug mode disable inlining
 #
 if(CMAKE_COMPILER_IS_GNUCXX)
-    set(CMAKE_CXX_FLAGS_KRITADEVS "-O3 -g" CACHE STRING "" FORCE)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -fext-numeric-literals")
 endif()
 
+option(KRITA_DEVS "For Krita developers. This modifies the DEBUG build type to use -O3 -g, while still enabling Q_ASSERT. This is necessary because the Qt5 cmake modules normally append QT_NO_DEBUG to any build type that is not labeled Debug")
+if (KRITA_DEVS)
+    set(CMAKE_CXX_FLAGS_DEBUG "-O3 -g" CACHE STRING "" FORCE)
+endif()
+
 if(UNIX)
     set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};m")
 endif()



More information about the kimageshop mailing list