diff options
Diffstat (limited to 'qmake/generators')
-rw-r--r-- | qmake/generators/makefile.cpp | 4 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake.cpp | 3 | ||||
-rw-r--r-- | qmake/generators/unix/unixmake2.cpp | 4 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_nmake.cpp | 19 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 2 |
5 files changed, 21 insertions, 11 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 6d148e41a2..e742288c35 100644 --- a/qmake/generators/win32/msvc_nmake.cpp +++ b/qmake/generators/win32/msvc_nmake.cpp @@ -253,10 +253,11 @@ 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"))) { + || project->first("TEMPLATE") != "lib" + || (project->isActiveConfig("shared") + && project->values(ProKey(t + ".CONFIG")).indexOf("no_dll") == -1)) { QString pdb_target = getPdbTarget(); pdb_target.remove('"'); QString src_targ = (project->isEmpty("DESTDIR") ? QString("$(DESTDIR)") : project->first("DESTDIR")) + pdb_target; @@ -407,11 +408,15 @@ void NmakeMakefileGenerator::init() if(project->isActiveConfig("shared")) { project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".exp"); } - if(project->isActiveConfig("debug")) { - project->values("QMAKE_DISTCLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".pdb"); + if (project->isActiveConfig("debug_info")) { + QString pdbfile = project->first("DESTDIR") + project->first("TARGET") + version + ".pdb"; + project->values("QMAKE_CFLAGS").append("/Fd" + pdbfile); + project->values("QMAKE_CXXFLAGS").append("/Fd" + pdbfile); + project->values("QMAKE_DISTCLEAN").append(pdbfile); + } + if (project->isActiveConfig("debug")) { project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".ilk"); - project->values("QMAKE_CLEAN").append("vc*.pdb"); - project->values("QMAKE_CLEAN").append("vc*.idb"); + project->values("QMAKE_CLEAN").append(project->first("DESTDIR") + project->first("TARGET") + version + ".idb"); } else { ProStringList &defines = project->values("DEFINES"); if (!defines.contains("NDEBUG")) 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(); |