[Kde-pim] Build failed in Jenkins: kdepim_master #5824

Christophe Giboudeaux cgiboudeaux at gmx.com
Mon Jan 27 09:50:30 GMT 2014


--===============5982660757375424504==
Content-Type: multipart/signed; boundary="nextPart1649606.mXdeqSuvdx"; micalg="pgp-sha1"; protocol="application/pgp-signature"


--nextPart1649606.mXdeqSuvdx
Content-Type: multipart/mixed; boundary="nextPart1464197.DgycIJdUqN"
Content-Transfer-Encoding: quoted-printable

This is a multi-part message in MIME format.

=2D-nextPart1464197.DgycIJdUqN
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="iso-8859-1"

On Sunday 26 January 2014 14:53:48 Stephen Kelly wrote:
> On 01/26/2014 02:01 PM, Christophe Giboudeaux wrote:
> > This error is caused by a regression in CMake from git. I can reproduce it
> > locally if I use cmake from the 'next' branch. (3dc1163)
> 
> There is no regression in cmake. The only problem is that kde forked
> FindQt4.cmake instead of wrapping it, and now you have to maintain the
> result. I suggest remedying that.
> 
> Try something like the attached patch.
> 

ok, looks like it works with CMake 2.8.9, 2.8.12.1 & next after a tiny change.

We can push these changes to 4.12 and claim nothing can be done for older 
kdelibs versions.

I don't really understand why we still have a FindQt4 copy. The SC argument 
isn't valid as long as we depend on a CMake version that provides one.


Christophe

=2D-nextPart1464197.DgycIJdUqN
Content-Disposition: attachment; filename="0001-Add-imported-targets-to-the-FindQt4-fork.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-imported-targets-to-the-FindQt4-fork.patch"

diff --git a/cmake/modules/FindQt4.cmake b/cmake/modules/FindQt4.cmake
index 6db944f..e439a72 100644
=2D-- a/cmake/modules/FindQt4.cmake
+++ b/cmake/modules/FindQt4.cmake
@@ -1091,85 +1091,43 @@ IF (QT4_QMAKE_FOUND)
     SET(QT_LINGUIST_EXECUTABLE NOTFOUND)
   ENDIF(QT_QMAKE_CHANGED)
   
=2D  FIND_PROGRAM(QT_MOC_EXECUTABLE
=2D    NAMES moc-qt4 moc
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_UIC_EXECUTABLE
=2D    NAMES uic-qt4 uic
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_UIC3_EXECUTABLE
=2D    NAMES uic3
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_RCC_EXECUTABLE 
=2D    NAMES rcc
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2Dif(NOT WINCE)
=2D  FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE 
=2D    NAMES qdbuscpp2xml
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE 
=2D    NAMES qdbusxml2cpp
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2Delse(NOT WINCE)
=2D  FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE 
=2D    NAMES qdbuscpp2xml
=2D    PATHS ${HOST_BINDIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE 
=2D    NAMES qdbusxml2cpp
=2D    PATHS ${HOST_BINDIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2Dendif(NOT WINCE)
=2D
=2D  FIND_PROGRAM(QT_LUPDATE_EXECUTABLE
=2D    NAMES lupdate-qt4 lupdate
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
=2D    NAMES lrelease-qt4 lrelease
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_QCOLLECTIONGENERATOR_EXECUTABLE
=2D    NAMES qcollectiongenerator-qt4 qcollectiongenerator
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
=2D
=2D  FIND_PROGRAM(QT_DESIGNER_EXECUTABLE
=2D    NAMES designer-qt4 designer
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
+  macro(_find_qt4_program VAR NAME)
+    find_program(${VAR}
+      NAMES ${ARGN}
+      PATHS ${QT_BINARY_DIR}
+      NO_DEFAULT_PATH
+      )
+    if (${VAR} AND NOT TARGET ${NAME})
+      add_executable(${NAME} IMPORTED)
+      set_property(TARGET ${NAME} PROPERTY IMPORTED_LOCATION ${${VAR}})
+    endif()
+  endmacro()
+
+  _find_qt4_program(QT_MOC_EXECUTABLE Qt4::moc moc-qt4 moc moc4)
+  _find_qt4_program(QT_UIC_EXECUTABLE Qt4::uic uic-qt4 uic uic4)
+  _find_qt4_program(QT_UIC3_EXECUTABLE Qt4::uic3 uic3)
+  _find_qt4_program(QT_RCC_EXECUTABLE Qt4::rcc rcc)
+  if(NOT WINCE)
+    _find_qt4_program(QT_DBUSCPP2XML_EXECUTABLE Qt4::qdbuscpp2xml qdbuscpp2xml)
+    _find_qt4_program(QT_DBUSXML2CPP_EXECUTABLE Qt4::qdbusxml2cpp qdbusxml2cpp)
+  else()
+    FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE
+      NAMES qdbuscpp2xml
+      PATHS ${HOST_BINDIR}
+      NO_DEFAULT_PATH
+      )
 
=2D  FIND_PROGRAM(QT_LINGUIST_EXECUTABLE
=2D    NAMES linguist-qt4 linguist
=2D    PATHS ${QT_BINARY_DIR}
=2D    NO_DEFAULT_PATH
=2D    )
+    FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE
+      NAMES qdbusxml2cpp
+      PATHS ${HOST_BINDIR}
+      NO_DEFAULT_PATH
+      )
+  endif()
+  _find_qt4_program(QT_LUPDATE_EXECUTABLE Qt4::lupdate lupdate-qt4 lupdate lupdate4)
+  _find_qt4_program(QT_LRELEASE_EXECUTABLE Qt4::lrelease lrelease-qt4 lrelease lrelease4)
+  _find_qt4_program(QT_QCOLLECTIONGENERATOR_EXECUTABLE Qt4::qcollectiongenerator qcollectiongenerator-qt4 qcollectiongenerator)
+  _find_qt4_program(QT_DESIGNER_EXECUTABLE Qt4::designer designer-qt4 designer designer4)
+  _find_qt4_program(QT_LINGUIST_EXECUTABLE Qt4::linguist linguist-qt4 linguist linguist4)
 
   IF (QT_MOC_EXECUTABLE)
      SET(QT_WRAP_CPP "YES")

=2D-nextPart1464197.DgycIJdUqN--
This is a multi-part message in MIME format.

--nextPart1464197.DgycIJdUqN
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="iso-8859-1"

On Sunday 26 January 2014 14:53:48 Stephen Kelly wrote:
> On 01/26/2014 02:01 PM, Christophe Giboudeaux wrote:
> > This error is caused by a regression in CMake from git. I can reproduce it
> > locally if I use cmake from the 'next' branch. (3dc1163)
> 
> There is no regression in cmake. The only problem is that kde forked
> FindQt4.cmake instead of wrapping it, and now you have to maintain the
> result. I suggest remedying that.
> 
> Try something like the attached patch.
> 

ok, looks like it works with CMake 2.8.9, 2.8.12.1 & next after a tiny change.

We can push these changes to 4.12 and claim nothing can be done for older 
kdelibs versions.

I don't really understand why we still have a FindQt4 copy. The SC argument 
isn't valid as long as we depend on a CMake version that provides one.


Christophe

--nextPart1464197.DgycIJdUqN
Content-Disposition: attachment; filename="0001-Add-imported-targets-to-the-FindQt4-fork.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="UTF-8"; name="0001-Add-imported-targets-to-the-FindQt4-fork.patch"

diff --git a/cmake/modules/FindQt4.cmake b/cmake/modules/FindQt4.cmake
index 6db944f..e439a72 100644
--- a/cmake/modules/FindQt4.cmake
+++ b/cmake/modules/FindQt4.cmake
@@ -1091,85 +1091,43 @@ IF (QT4_QMAKE_FOUND)
     SET(QT_LINGUIST_EXECUTABLE NOTFOUND)
   ENDIF(QT_QMAKE_CHANGED)
   
-  FIND_PROGRAM(QT_MOC_EXECUTABLE
-    NAMES moc-qt4 moc
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_UIC_EXECUTABLE
-    NAMES uic-qt4 uic
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_UIC3_EXECUTABLE
-    NAMES uic3
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_RCC_EXECUTABLE 
-    NAMES rcc
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-if(NOT WINCE)
-  FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE 
-    NAMES qdbuscpp2xml
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE 
-    NAMES qdbusxml2cpp
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-else(NOT WINCE)
-  FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE 
-    NAMES qdbuscpp2xml
-    PATHS ${HOST_BINDIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE 
-    NAMES qdbusxml2cpp
-    PATHS ${HOST_BINDIR}
-    NO_DEFAULT_PATH
-    )
-endif(NOT WINCE)
-
-  FIND_PROGRAM(QT_LUPDATE_EXECUTABLE
-    NAMES lupdate-qt4 lupdate
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
-    NAMES lrelease-qt4 lrelease
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_QCOLLECTIONGENERATOR_EXECUTABLE
-    NAMES qcollectiongenerator-qt4 qcollectiongenerator
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
-
-  FIND_PROGRAM(QT_DESIGNER_EXECUTABLE
-    NAMES designer-qt4 designer
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
+  macro(_find_qt4_program VAR NAME)
+    find_program(${VAR}
+      NAMES ${ARGN}
+      PATHS ${QT_BINARY_DIR}
+      NO_DEFAULT_PATH
+      )
+    if (${VAR} AND NOT TARGET ${NAME})
+      add_executable(${NAME} IMPORTED)
+      set_property(TARGET ${NAME} PROPERTY IMPORTED_LOCATION ${${VAR}})
+    endif()
+  endmacro()
+
+  _find_qt4_program(QT_MOC_EXECUTABLE Qt4::moc moc-qt4 moc moc4)
+  _find_qt4_program(QT_UIC_EXECUTABLE Qt4::uic uic-qt4 uic uic4)
+  _find_qt4_program(QT_UIC3_EXECUTABLE Qt4::uic3 uic3)
+  _find_qt4_program(QT_RCC_EXECUTABLE Qt4::rcc rcc)
+  if(NOT WINCE)
+    _find_qt4_program(QT_DBUSCPP2XML_EXECUTABLE Qt4::qdbuscpp2xml qdbuscpp2xml)
+    _find_qt4_program(QT_DBUSXML2CPP_EXECUTABLE Qt4::qdbusxml2cpp qdbusxml2cpp)
+  else()
+    FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE
+      NAMES qdbuscpp2xml
+      PATHS ${HOST_BINDIR}
+      NO_DEFAULT_PATH
+      )
 
-  FIND_PROGRAM(QT_LINGUIST_EXECUTABLE
-    NAMES linguist-qt4 linguist
-    PATHS ${QT_BINARY_DIR}
-    NO_DEFAULT_PATH
-    )
+    FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE
+      NAMES qdbusxml2cpp
+      PATHS ${HOST_BINDIR}
+      NO_DEFAULT_PATH
+      )
+  endif()
+  _find_qt4_program(QT_LUPDATE_EXECUTABLE Qt4::lupdate lupdate-qt4 lupdate lupdate4)
+  _find_qt4_program(QT_LRELEASE_EXECUTABLE Qt4::lrelease lrelease-qt4 lrelease lrelease4)
+  _find_qt4_program(QT_QCOLLECTIONGENERATOR_EXECUTABLE Qt4::qcollectiongenerator qcollectiongenerator-qt4 qcollectiongenerator)
+  _find_qt4_program(QT_DESIGNER_EXECUTABLE Qt4::designer designer-qt4 designer designer4)
+  _find_qt4_program(QT_LINGUIST_EXECUTABLE Qt4::linguist linguist-qt4 linguist linguist4)
 
   IF (QT_MOC_EXECUTABLE)
      SET(QT_WRAP_CPP "YES")

--nextPart1464197.DgycIJdUqN--

--nextPart1649606.mXdeqSuvdx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iEYEABECAAYFAlLmK+0ACgkQxN4yrBrjqDN0mACcCffkwFIWPifbvrai54GqRPJB
v0QAniulA04/kYj4MgASpt0JU8oZin6S
=9+9y
-----END PGP SIGNATURE-----

--nextPart1649606.mXdeqSuvdx--


--===============5982660757375424504==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
--===============5982660757375424504==--




More information about the kde-pim mailing list