summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2018-10-07 22:31:15 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2018-11-13 10:33:15 +0000
commit4ed43856587539ff18f2ff08de296541087e1e31 (patch)
tree3c5d1dc77ad43154e3993d251b4b9d240b4ec78a
parentb3502fbbc08813fe46a60c230611506e4636d9dc (diff)
downloadmeta-qt5-4ed43856587539ff18f2ff08de296541087e1e31.tar.gz
qtbase: don't leak absolut path to recipe specific sysroot
If the qtbase recipe-sysroot no longer exists (e.g. because of rm_work) a user of Qt5GuiConfigExtras.cmake will experience the following error: | ERROR: Task (.../meta-qt5/recipes-qt/qt5/qtwebkit_git.bb:do_configure) failed with exit code '1' | CMake Error in Source/WebCore/CMakeLists.txt: | Imported target "Qt5::Gui_EGL" includes non-existent path | | ".../build/tmp-glibc/work/armv7at2hf-neon-imx-angstrom-linux-gnueabi/qtbase/5.11.2+gitAUTOINC+49efea26a5-r0/recipe-sysroot/usr/include/libdrm" Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb1
-rw-r--r--recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch69
-rw-r--r--recipes-qt/qt5/qtbase_git.bb1
4 files changed, 72 insertions, 0 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index d2a45288..863b4771 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -41,6 +41,7 @@ SRC_URI += "\
41 file://0014-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \ 41 file://0014-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \
42 file://0015-double-conversion-support-AARCH64EB-and-arm-BE.patch \ 42 file://0015-double-conversion-support-AARCH64EB-and-arm-BE.patch \
43 file://0016-Disable-ltcg-for-host_build.patch \ 43 file://0016-Disable-ltcg-for-host_build.patch \
44 file://0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
44" 45"
45 46
46# common for qtbase-native and nativesdk-qtbase 47# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index c58c7f37..26a6fc3e 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -36,6 +36,7 @@ SRC_URI += "\
36 file://0014-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \ 36 file://0014-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \
37 file://0015-double-conversion-support-AARCH64EB-and-arm-BE.patch \ 37 file://0015-double-conversion-support-AARCH64EB-and-arm-BE.patch \
38 file://0016-Disable-ltcg-for-host_build.patch \ 38 file://0016-Disable-ltcg-for-host_build.patch \
39 file://0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
39" 40"
40 41
41# common for qtbase-native and nativesdk-qtbase 42# common for qtbase-native and nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
new file mode 100644
index 00000000..841d5080
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
@@ -0,0 +1,69 @@
1From cc017da9bb6936c6e147e8d416c8405493d4422c Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Sat, 27 Oct 2018 12:29:31 +0000
4Subject: [PATCH] Qt5GuiConfigExtras.cmake.in: cope with variable path to
5 sysroot
6
7EGL is configured to need an include path into the recipe-specific sysroot.
8However users of the cmake file will have a different absolute path than that
9used when creating the cmake file from cmake.in in qtbase.
10
11Change to store the relative path within the sysroot and then prepend the
12currently used sysroot in the _qt5gui_find_extra_libs macro.
13
14Upstream-Status: Inappropriate [OE specific]
15
16Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
17---
18 src/gui/Qt5GuiConfigExtras.cmake.in | 22 ++++++++--------------
19 1 file changed, 8 insertions(+), 14 deletions(-)
20
21diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
22index 07869efd7d..671aa82167 100644
23--- a/src/gui/Qt5GuiConfigExtras.cmake.in
24+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
25@@ -75,21 +75,15 @@ unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE)
26
27 macro(_qt5gui_find_extra_libs Name Libs LibDir IncDirs)
28 set(Qt5Gui_${Name}_LIBRARIES)
29-!!IF !mac
30- set(Qt5Gui_${Name}_INCLUDE_DIRS ${IncDirs})
31-!!ELSE
32+
33 foreach(_dir ${IncDirs})
34- if (EXISTS ${_dir})
35- list(APPEND Qt5Gui_${Name}_INCLUDE_DIRS ${_dir})
36- else()
37- find_path(_actual_dir ${_dir}) # Look in sdk directories
38- if (_actual_dir)
39- list(APPEND Qt5Gui_${Name}_INCLUDE_DIRS ${_actual_dir})
40- endif()
41- unset(_actual_dir CACHE)
42+ find_path(_actual_dir ${_dir})
43+ if (_actual_dir)
44+ list(APPEND Qt5Gui_${Name}_INCLUDE_DIRS ${_actual_dir})
45 endif()
46+ unset(_actual_dir CACHE)
47 endforeach()
48-!!ENDIF
49+
50 foreach(_lib ${Libs})
51 string(REGEX REPLACE "[^_A-Za-z0-9]" "_" _cmake_lib_name ${_lib})
52 if (NOT TARGET Qt5::Gui_${_cmake_lib_name} AND NOT _Qt5Gui_${_cmake_lib_name}_LIBRARY_DONE)
53@@ -158,11 +152,11 @@ endmacro()
54
55
56 !!IF !isEmpty(CMAKE_EGL_LIBS)
57-_qt5gui_find_extra_libs(EGL \"$$CMAKE_EGL_LIBS\" \"$$CMAKE_EGL_LIBDIR\" \"$$CMAKE_EGL_INCDIRS\")
58+_qt5gui_find_extra_libs(EGL \"$$CMAKE_EGL_LIBS\" \"$$CMAKE_EGL_LIBDIR\" \"$$replace(CMAKE_EGL_INCDIRS,$$re_escape($$PKG_CONFIG_SYSROOT_DIR),)\")
59 !!ENDIF
60
61 !!IF !isEmpty(CMAKE_OPENGL_LIBS)
62-_qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\" \"$$CMAKE_OPENGL_INCDIRS\")
63+_qt5gui_find_extra_libs(OPENGL \"$$CMAKE_OPENGL_LIBS\" \"$$CMAKE_OPENGL_LIBDIR\" \"$$replace(CMAKE_OPENGL_INCDIRS,$$re_escape($$PKG_CONFIG_SYSROOT_DIR),)\")
64
65 !!ENDIF
66
67--
682.13.6
69
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index e5585cd0..f26c3949 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -32,6 +32,7 @@ SRC_URI += "\
32 file://0014-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \ 32 file://0014-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \
33 file://0015-double-conversion-support-AARCH64EB-and-arm-BE.patch \ 33 file://0015-double-conversion-support-AARCH64EB-and-arm-BE.patch \
34 file://0016-Disable-ltcg-for-host_build.patch \ 34 file://0016-Disable-ltcg-for-host_build.patch \
35 file://0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
35" 36"
36 37
37 38