aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt6/qtbase/0006-Fix-configure-no-rpath-for-CMake-3.18.patch
blob: 1d6425550c7a3064ddd9ab0a6e9cce399470e054 (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 1cfae7c693261803e8f99552166841c036aa6d60 Mon Sep 17 00:00:00 2001
From: Joerg Bornemann <joerg.bornemann@qt.io>
Date: Tue, 24 Jan 2023 10:58:59 +0100
Subject: [PATCH] Fix configure -no-rpath for CMake < 3.18

We must not set rpath-related properties on INTERFACE libraries. Move
the code that sets the properties below the bail out for INTERFACE
libraries.

This amends commit 392d9a54194d06e96bfebdaf081aa6c9787e33ab.

Pick-to: 6.5
Fixes: QTBUG-110513
Change-Id: Ie395f1482245c4522917f982d2f3bc745c0b2abc
---
 cmake/QtRpathHelpers.cmake | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/cmake/QtRpathHelpers.cmake b/cmake/QtRpathHelpers.cmake
index 7b37c0e81d..3dbf5c6764 100644
--- a/cmake/QtRpathHelpers.cmake
+++ b/cmake/QtRpathHelpers.cmake
@@ -94,21 +94,6 @@ function(qt_apply_rpaths)
         set(target "${arg_TARGET}")
     endif()
 
-    # Rpaths explicitly disabled (like for uikit), equivalent to qmake's no_qt_rpath.
-    # Or feature was turned OFF.
-    if(QT_DISABLE_RPATH OR NOT QT_FEATURE_rpath)
-        set_target_properties(${target} PROPERTIES
-            SKIP_BUILD_RPATH ON
-            SKIP_INSTALL_RPATH ON
-        )
-        if(APPLE)
-            set_target_properties(${target} PROPERTIES
-                MACOSX_RPATH OFF
-            )
-        endif()
-        return()
-    endif()
-
     # If a target is not built (which can happen for tools when crosscompiling, we shouldn't try
     # to apply properties.
     if(NOT TARGET "${target}")
@@ -125,6 +110,21 @@ function(qt_apply_rpaths)
         message(FATAL_ERROR "No INSTALL_PATH given to qt_apply_rpaths.")
     endif()
 
+    # Rpaths explicitly disabled (like for uikit), equivalent to qmake's no_qt_rpath.
+    # Or feature was turned OFF.
+    if(QT_DISABLE_RPATH OR NOT QT_FEATURE_rpath)
+        set_target_properties(${target} PROPERTIES
+            SKIP_BUILD_RPATH ON
+            SKIP_INSTALL_RPATH ON
+        )
+        if(APPLE)
+            set_target_properties(${target} PROPERTIES
+                MACOSX_RPATH OFF
+            )
+        endif()
+        return()
+    endif()
+
     set(rpaths "")
 
     # Modify the install path to contain the nested structure of a framework.