summaryrefslogtreecommitdiffstats
path: root/qmake/generators
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@qt.io>2020-02-12 15:27:27 +0100
committerKai Koehne <kai.koehne@qt.io>2020-02-14 15:03:10 +0000
commit81bd1bba7b67716ed0ae565061ebedc5a5455a40 (patch)
treea430302ffb659c3ea48cf01482cf09c34ff72901 /qmake/generators
parent6a56862a2214e4ff1743fc3ce97427a30475b48a (diff)
Windows: Add install/uninstall rules for target.targets
Mirror the behavior in unixmake.cpp and do actually install /uninstall files in target.targets. This fixes the installation of .debug files on MinGW for a Qt with -force-debug-info -separate-debug-info. [ChangeLog][qmake] Install/uninstall rules are now generated for target.targets on Windows. This mirrors the behavior on Unix. Fixes: QTBUG-81354 Change-Id: Ie9366f132ebd8e18680f32f2e52cec64dbd87e9a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'qmake/generators')
-rw-r--r--qmake/generators/win32/winmakefile.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 86d10c213c..3ec2704625 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -736,6 +736,18 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
if(targetdir.right(1) != Option::dir_sep)
targetdir += Option::dir_sep;
+ const ProStringList &targets = project->values(ProKey(t + ".targets"));
+ for (int i = 0; i < targets.size(); ++i) {
+ QString src = targets.at(i).toQString(),
+ dst = escapeFilePath(filePrefixRoot(root, targetdir + src.section('/', -1)));
+ if (!ret.isEmpty())
+ ret += "\n\t";
+ ret += "$(QINSTALL) " + escapeFilePath(Option::fixPathToTargetOS(src, false)) + ' ' + dst;
+ if (!uninst.isEmpty())
+ uninst.append("\n\t");
+ uninst.append("-$(DEL_FILE) " + dst);
+ }
+
if(t == "target" && project->first("TEMPLATE") == "lib") {
if(project->isActiveConfig("create_prl") && !project->isActiveConfig("no_install_prl") &&
!project->isEmpty("QMAKE_INTERNAL_PRL_FILE")) {
@@ -744,6 +756,8 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
if(slsh != -1)
dst_prl = dst_prl.right(dst_prl.length() - slsh - 1);
dst_prl = filePrefixRoot(root, targetdir + dst_prl);
+ if (!ret.isEmpty())
+ ret += "\n\t";
ret += installMetaFile(ProKey("QMAKE_PRL_INSTALL_REPLACE"), project->first("QMAKE_INTERNAL_PRL_FILE").toQString(), dst_prl);
if(!uninst.isEmpty())
uninst.append("\n\t");