aboutsummarylogtreecommitdiffstats
path: root/0028-Prevent-qmake-from-messing-static-lib-dependencies.patch
blob: 819fb97a7b25141c4db946bc39550565d6e77e9c (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
From c5a084e56a5c766909c6513e673ec5fbb2fde4c6 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Tue, 7 Feb 2017 18:25:28 +0100
Subject: [PATCH 28/31] Prevent qmake from messing static lib dependencies

In particular, it messes resolving cyclic dependency between
static freetype2 and harfbuzz

Change-Id: Ie5a4e2ad96bd613ae4c26486edb30c74929459b0
---
 qmake/generators/unix/unixmake.cpp     | 3 +++
 qmake/generators/win32/winmakefile.cpp | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index f7bd6dc663..b76c444012 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -391,6 +391,9 @@ UnixMakefileGenerator::fixLibFlag(const ProString &lib)
 bool
 UnixMakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
 {
+    if(project->isActiveConfig("staticlib")) {
+        return false; // prevent qmake from messing static lib dependencies
+    }
     QVector<QMakeLocalFileName> libdirs, frameworkdirs;
     int libidx = 0, fwidx = 0;
     for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 03732df4a8..602f7609f5 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -106,6 +106,9 @@ Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags)
       impexts.append(project->values("QMAKE_EXTENSION_IMPORTLIB"));
       impexts.append(project->values("QMAKE_EXTENSION_STATICLIB"));
     }
+    if(project->isActiveConfig("staticlib")) {
+        return false; // prevent qmake from messing static lib dependencies
+    }
     QVector<LibrarySearchPath> dirs;
     int libidx = 0;
     for (const ProString &dlib : project->values("QMAKE_DEFAULT_LIBDIRS"))
-- 
2.28.0