[oe-commits] Paul Eggleton : cmake: fix configure error if system Qt installation is broken

git at git.openembedded.org git at git.openembedded.org
Wed Jul 10 08:38:00 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: 2bf46fbd25e1a3a44d556758f536fa26c44edb03
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=2bf46fbd25e1a3a44d556758f536fa26c44edb03

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Thu Jul  4 12:26:04 2013 +0100

cmake: fix configure error if system Qt installation is broken

If the host Qt installation exists but is incomplete or the installed
qmake architecture doesn't match that of the Qt libraries, cmake was
failing at do_configure. cmake 2.8.10 failed silently here so we should
make 2.8.11 do the same.

Fixes [YOCTO #4565].

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/recipes-devtools/cmake/cmake.inc              |    1 +
 .../cmake/cmake/qt4-fail-silent.patch              |   55 ++++++++++++++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index 6144d51..014ff5a 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -15,6 +15,7 @@ SRC_URI = "http://www.cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz
            file://support-oe-qt4-tools-names.patch \
            file://aarch64-cmake.patch \
            file://aarch64-kwsys.patch \
+           file://qt4-fail-silent.patch \
            "
 
 inherit autotools
diff --git a/meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch b/meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch
new file mode 100644
index 0000000..fd39f3f
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch
@@ -0,0 +1,55 @@
+Fail silently if system Qt installation is broken
+
+Fixes a regression in behaviour from 2.8.10 to 2.8.11 resulting in the
+following error if the system Qt installation is broken:
+
+CMake Error at Modules/FindQt4.cmake:1028 (set_property):
+  set_property could not find TARGET Qt4::QtCore.  Perhaps it has not yet
+  been created.
+Call Stack (most recent call first):
+  Tests/RunCMake/CMakeLists.txt:79 (find_package)
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
+
+--- cmake-2.8.11/Modules/FindQt4.cmake	2013-07-04 10:20:42.092848274 +0100
++++ cmake-2.8.11/Modules/FindQt4.cmake	2013-07-04 10:52:15.693380555 +0100
+@@ -1025,21 +1025,22 @@
+     set(_configs)
+   endmacro()
+ 
+-
+-  # Set QT_xyz_LIBRARY variable and add
+-  # library include path to QT_INCLUDES
+-  _QT4_ADJUST_LIB_VARS(QtCore)
+-  set_property(TARGET Qt4::QtCore APPEND PROPERTY
+-    INTERFACE_INCLUDE_DIRECTORIES
+-      "${QT_MKSPECS_DIR}/default"
+-      ${QT_INCLUDE_DIR}
+-  )
+-  set_property(TARGET Qt4::QtCore PROPERTY
+-    INTERFACE_QT_MAJOR_VERSION 4
+-  )
+-  set_property(TARGET Qt4::QtCore APPEND PROPERTY
+-    COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION
+-  )
++  if(QT_QTCORE_FOUND)
++    # Set QT_xyz_LIBRARY variable and add
++    # library include path to QT_INCLUDES
++    _QT4_ADJUST_LIB_VARS(QtCore)
++    set_property(TARGET Qt4::QtCore APPEND PROPERTY
++      INTERFACE_INCLUDE_DIRECTORIES
++        "${QT_MKSPECS_DIR}/default"
++        ${QT_INCLUDE_DIR}
++    )
++    set_property(TARGET Qt4::QtCore PROPERTY
++      INTERFACE_QT_MAJOR_VERSION 4
++    )
++    set_property(TARGET Qt4::QtCore APPEND PROPERTY
++      COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION
++    )
++  endif()
+ 
+   foreach(QT_MODULE ${QT_MODULES})
+     _QT4_ADJUST_LIB_VARS(${QT_MODULE})



More information about the Openembedded-commits mailing list