summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-11-18 21:39:08 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-03 09:14:59 +0100
commita5f6536d9fbde11796d3c7f1a9db3fd34e83c2a5 (patch)
treed45649fdb900ff448cbd52678c0b0971990335a0 /qmake
parentc31ab2139a237d60a5b14143a5c98ac6d8d57f32 (diff)
complete implementation of force_debug_info
that means further detaching the generation and installation of debug info from the thing calling itself A Debug Build. Task-number: QTBUG-32412 Change-Id: I4d79d1ae4806c8e4a2d6a7ccd030fb88385dd7d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/makefile.cpp4
-rw-r--r--qmake/generators/unix/unixmake.cpp3
-rw-r--r--qmake/generators/unix/unixmake2.cpp4
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp8
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp2
5 files changed, 14 insertions, 7 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index d88c6e447a..3dd63b4590 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -1314,7 +1314,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild)
cmd = "-$(INSTALL_FILE)";
cmd += " " + escapeFilePath(wild) + " " + escapeFilePath(dst_file);
inst << cmd;
- if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") &&
+ if (!project->isActiveConfig("debug_info") && !project->isActiveConfig("nostrip") &&
!fi.isDir() && fi.isExecutable() && !project->isEmpty("QMAKE_STRIP"))
inst << QString("-") + var("QMAKE_STRIP") + " " +
escapeFilePath(filePrefixRoot(root, fileFixify(dst_dir + filestr, FileFixifyAbsolute, false)));
@@ -1357,7 +1357,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild)
QString cmd = QString(fi.isDir() ? "-$(INSTALL_DIR)" : "-$(INSTALL_FILE)") + " " +
escapeFilePath(dirstr + file) + " " + escapeFilePath(dst_file);
inst << cmd;
- if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") &&
+ if (!project->isActiveConfig("debug_info") && !project->isActiveConfig("nostrip") &&
!fi.isDir() && fi.isExecutable() && !project->isEmpty("QMAKE_STRIP"))
inst << QString("-") + var("QMAKE_STRIP") + " " +
escapeFilePath(filePrefixRoot(root, fileFixify(dst_dir + file, FileFixifyAbsolute, false)));
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index 1c95392932..ea6a6a6e90 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -818,7 +818,8 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
if(project->first("TEMPLATE") == "lib" && project->isActiveConfig("staticlib")) {
if(!project->isEmpty("QMAKE_RANLIB"))
ret += QString("\n\t$(RANLIB) \"") + dst_targ + "\"";
- } else if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") && !project->isEmpty("QMAKE_STRIP")) {
+ } else if (!project->isActiveConfig("debug_info") && !project->isActiveConfig("nostrip")
+ && !project->isEmpty("QMAKE_STRIP")) {
ret += "\n\t-$(STRIP)";
if (project->first("TEMPLATE") == "lib") {
if (!project->isEmpty("QMAKE_STRIPFLAGS_LIB"))
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
index 35639a33bf..7ed89e23d7 100644
--- a/qmake/generators/unix/unixmake2.cpp
+++ b/qmake/generators/unix/unixmake2.cpp
@@ -403,6 +403,8 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
QString incr_lflags = var("QMAKE_LFLAGS_SHLIB") + " ";
if(project->isActiveConfig("debug"))
incr_lflags += var("QMAKE_LFLAGS_DEBUG");
+ else if (project->isActiveConfig("debug_info"))
+ incr_lflags += var("QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO");
else
incr_lflags += var("QMAKE_LFLAGS_RELEASE");
t << incr_target_dir << ": $(INCREMENTAL_OBJECTS)\n\t";
@@ -498,6 +500,8 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
incr_lflags += var("QMAKE_LFLAGS_INCREMENTAL") + " ";
if(project->isActiveConfig("debug"))
incr_lflags += var("QMAKE_LFLAGS_DEBUG");
+ else if (project->isActiveConfig("debug_info"))
+ incr_lflags += var("QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO");
else
incr_lflags += var("QMAKE_LFLAGS_RELEASE");
t << incr_target_dir << ": $(INCREMENTAL_OBJECTS)\n\t";
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index f02574e465..2a2e6b93ca 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -235,7 +235,7 @@ QString NmakeMakefileGenerator::defaultInstall(const QString &t)
if(targetdir.right(1) != Option::dir_sep)
targetdir += Option::dir_sep;
- if (project->isActiveConfig("debug")) {
+ if (project->isActiveConfig("debug_info")) {
if (t == "dlltarget"
|| project->first("TEMPLATE") != "lib"
|| (project->isActiveConfig("shared")
@@ -390,10 +390,12 @@ void NmakeMakefileGenerator::init()
if(project->isActiveConfig("shared")) {
project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".exp");
}
- if(project->isActiveConfig("debug")) {
+ if (project->isActiveConfig("debug_info")) {
project->values("QMAKE_DISTCLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".pdb");
- project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".ilk");
project->values("QMAKE_CLEAN").append("vc*.pdb");
+ }
+ if (project->isActiveConfig("debug")) {
+ project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".ilk");
project->values("QMAKE_CLEAN").append("vc*.idb");
} else {
ProStringList &defines = project->values("DEFINES");
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 934902fd4a..fbc2f6b0a6 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -932,7 +932,7 @@ void VcprojGenerator::initConfiguration()
if(projectTarget == StaticLib)
initLibrarianTool();
else {
- conf.linker.GenerateDebugInformation = isDebug ? _True : _False;
+ conf.linker.GenerateDebugInformation = project->isActiveConfig("debug_info") ? _True : _False;
initLinkerTool();
}
initManifestTool();