summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2020-01-22 12:38:53 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2020-01-23 19:44:09 +0100
commit474a5e2f3fe7d5fdcb930b0b6da896cd4d9c209c (patch)
tree1728ecd8279995ce7edcbbcb4d08b5f362a3191b
parent2d57dc2f33582833efff5ccc950ec863765eaedb (diff)
Fix handling of the DEFINES_DEBUG/DEFINES_RELEASE variables
Modifications of the CONFIG variable in the project file wasn't taken into account in the handling of DEFINES_DEBUG and DEFINES_RELEASE, because it was happening before the evaluation of the project file. Moved the handling code into default_post.prf where the other *_DEBUG and *_RELEASE variables are handled. In practice that means: to avoid the addition of the NDEBUG define one has to remove NDEBUG from DEFINES_RELEASE. This amends commit 1456b809. [ChangeLog][qmake] To remove the NDEBUG define that is added by default in MSVC mkspecs, write DEFINES_RELEASE -= NDEBUG in your .pro file. Fixes: QTBUG-81569 Change-Id: I2ea5628653275a4e48ad002977d34969c0663815 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r--mkspecs/features/default_post.prf2
-rw-r--r--mkspecs/features/default_pre.prf6
-rw-r--r--qmake/doc/src/qmake-manual.qdoc7
3 files changed, 7 insertions, 8 deletions
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index 0e41b825ec..1d79f5c958 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -64,11 +64,13 @@ debug {
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG
QMAKE_LFLAGS += $$QMAKE_LFLAGS_DEBUG
QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_DEBUG
+ DEFINES += $$DEFINES_DEBUG
} else {
QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE
QMAKE_LFLAGS += $$QMAKE_LFLAGS_RELEASE
QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE
+ DEFINES += $$DEFINES_RELEASE
}
stack_protector_strong {
diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf
index b2629d04c0..1c24bf071a 100644
--- a/mkspecs/features/default_pre.prf
+++ b/mkspecs/features/default_pre.prf
@@ -26,10 +26,4 @@ CONFIG = \
unset(today)
}
-CONFIG(debug, debug|release) {
- DEFINES += $$DEFINES_DEBUG
-} else {
- DEFINES += $$DEFINES_RELEASE
-}
-
load(toolchain)
diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc
index cd8129a539..3a1d79cb79 100644
--- a/qmake/doc/src/qmake-manual.qdoc
+++ b/qmake/doc/src/qmake-manual.qdoc
@@ -1168,7 +1168,7 @@
\section1 DEFINES_DEBUG
Specifies preprocessor defines for the debug configuration. The values of
- this variable get added to \l{DEFINES} before the project is loaded. This
+ this variable get added to \l{DEFINES} after the project is loaded. This
variable is typically set in \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
@@ -1178,10 +1178,13 @@
\section1 DEFINES_RELEASE
Specifies preprocessor defines for the release configuration. The values of
- this variable get added to \l{DEFINES} before the project is loaded. This
+ this variable get added to \l{DEFINES} after the project is loaded. This
variable is typically set in \l{#QMAKESPEC}{qmake.conf} and rarely needs
to be modified.
+ \note For MSVC mkspecs, this variable contains the value \c NDEBUG by
+ default.
+
This variable was introduced in Qt 5.13.2.
\target DEF_FILE