summarylogtreecommitdiffstats
path: root/0005-Make-sure-.pc-files-are-installed-correctly.patch
blob: f008c9ec6c6c903390243d5bc7ed4090112ebaa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
From 07fa0fe80bd49e335ff8663ee8c67aa6b0f042c8 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Sun, 18 Sep 2016 13:54:12 +0200
Subject: [PATCH 05/33] Make sure *.pc files are installed correctly

---
 qmake/generators/makefile.cpp          | 8 ++++++--
 qmake/generators/makefile.h            | 2 +-
 qmake/generators/win32/winmakefile.cpp | 2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index b7e591d2ab..5abf0624f4 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -3189,7 +3189,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
 }
 
 QString
-MakefileGenerator::pkgConfigFileName(bool fixify)
+MakefileGenerator::pkgConfigFileName(bool fixify, bool onlyPrependDestdir)
 {
     QString ret = project->first("QMAKE_PKGCONFIG_FILE").toQString();
     if (ret.isEmpty()) {
@@ -3214,7 +3214,11 @@ MakefileGenerator::pkgConfigFileName(bool fixify)
     if(fixify) {
         if(QDir::isRelativePath(ret) && !project->isEmpty("DESTDIR"))
             ret.prepend(project->first("DESTDIR").toQString());
-        ret = fileFixify(ret, FileFixifyBackwards);
+        if (onlyPrependDestdir) {
+            ret = Option::fixPathToLocalOS(ret);
+        } else {
+            ret = fileFixify(ret, FileFixifyBackwards);
+        }
     }
     return ret;
 }
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index b5c150e1cb..afb0e91381 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -89,7 +89,7 @@ protected:
     virtual void writeDefaultVariables(QTextStream &t);
 
     QString pkgConfigPrefix() const;
-    QString pkgConfigFileName(bool fixify=true);
+    QString pkgConfigFileName(bool fixify=true, bool onlyPrependDestdir = false);
     QString pkgConfigFixPath(QString) const;
     void writePkgConfigFile();   // for pkg-config
 
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index e0d03ccc1c..37eee7fca3 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -747,7 +747,7 @@ QString Win32MakefileGenerator::defaultInstall(const QString &t)
                 }
                 if(!ret.isEmpty())
                     ret += "\n\t";
-                ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true), dst_pc);
+                ret += installMetaFile(ProKey("QMAKE_PKGCONFIG_INSTALL_REPLACE"), pkgConfigFileName(true, true), dst_pc);
                 if(!uninst.isEmpty())
                     uninst.append("\n\t");
                 uninst.append("-$(DEL_FILE) " + escapeFilePath(dst_pc));
-- 
2.20.1