diff options
| author | Max Krummenacher <max.krummenacher@toradex.com> | 2018-10-07 22:31:15 +0200 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2018-11-13 10:33:15 +0000 |
| commit | 4ed43856587539ff18f2ff08de296541087e1e31 (patch) | |
| tree | 3c5d1dc77ad43154e3993d251b4b9d240b4ec78a /recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch | |
| parent | b3502fbbc08813fe46a60c230611506e4636d9dc (diff) | |
| download | meta-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>
Diffstat (limited to 'recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch')
| -rw-r--r-- | recipes-qt/qt5/qtbase/0017-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch | 69 |
1 files changed, 69 insertions, 0 deletions
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 @@ | |||
| 1 | From cc017da9bb6936c6e147e8d416c8405493d4422c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Max Krummenacher <max.krummenacher@toradex.com> | ||
| 3 | Date: Sat, 27 Oct 2018 12:29:31 +0000 | ||
| 4 | Subject: [PATCH] Qt5GuiConfigExtras.cmake.in: cope with variable path to | ||
| 5 | sysroot | ||
| 6 | |||
| 7 | EGL is configured to need an include path into the recipe-specific sysroot. | ||
| 8 | However users of the cmake file will have a different absolute path than that | ||
| 9 | used when creating the cmake file from cmake.in in qtbase. | ||
| 10 | |||
| 11 | Change to store the relative path within the sysroot and then prepend the | ||
| 12 | currently used sysroot in the _qt5gui_find_extra_libs macro. | ||
| 13 | |||
| 14 | Upstream-Status: Inappropriate [OE specific] | ||
| 15 | |||
| 16 | Signed-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 | |||
| 21 | diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in | ||
| 22 | index 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 | -- | ||
| 68 | 2.13.6 | ||
| 69 | |||
