telepathy-qt: Allow compilation when only qmake-qt4 is in the path
David Edmundson
davidedmundson at kemper.freedesktop.org
Fri Mar 14 09:00:44 PDT 2014
Module: telepathy-qt
Branch: master
Commit: 7feb7ee8d2eb1986b5a1314bb064b39a79718c68
URL: http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=7feb7ee8d2eb1986b5a1314bb064b39a79718c68
Author: Uwe Korn <uwelk at xhochy.com>
Date: Fri Mar 14 16:56:36 2014 +0100
Allow compilation when only qmake-qt4 is in the path
If Qt5 is found via cmake we do not need to find the qmake
executable. This fixes builds when only qmake4 is available in the path.
Reviewed-by: David Edmundson
---
cmake/modules/FindQt.cmake | 41 ++++++++++++++++++++++++++---------------
1 file changed, 26 insertions(+), 15 deletions(-)
diff --git a/cmake/modules/FindQt.cmake b/cmake/modules/FindQt.cmake
index 8cf0f25..5cb2836 100644
--- a/cmake/modules/FindQt.cmake
+++ b/cmake/modules/FindQt.cmake
@@ -7,22 +7,33 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-IF(NOT QT_QMAKE_EXECUTABLE)
- FIND_PROGRAM(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake qmake4 qmake-qt4 qmake5 qmake-qt5
- PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
- SET(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE_FINDQT} CACHE PATH "Qt qmake program.")
-ENDIF(NOT QT_QMAKE_EXECUTABLE)
+IF(DESIRED_QT_VERSION MATCHES 5)
+ # Qt5 was explicitly requested, so use its CMakeConfig instead of qmake which may not be at a global location
+ find_package(Qt5Core QUIET)
+ IF( Qt5Core_DIR )
+ SET(QT5_INSTALLED TRUE)
+ ENDIF( Qt5Core_DIR )
+ENDIF(DESIRED_QT_VERSION MATCHES 5)
+
+#Otherwise search for installed qmakes
+IF(NOT QT5_INSTALLED)
+ IF(NOT QT_QMAKE_EXECUTABLE)
+ FIND_PROGRAM(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake qmake4 qmake-qt4 qmake5 qmake-qt5
+ PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
+ SET(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE_FINDQT} CACHE PATH "Qt qmake program.")
+ ENDIF(NOT QT_QMAKE_EXECUTABLE)
-# now find qmake
-IF(QT_QMAKE_EXECUTABLE)
- EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_VERSION" OUTPUT_VARIABLE QTVERSION)
- IF(QTVERSION MATCHES "4.*")
- SET(QT4_INSTALLED TRUE)
- ENDIF(QTVERSION MATCHES "4.*")
- IF(QTVERSION MATCHES "5.*")
- SET(QT5_INSTALLED TRUE)
- ENDIF(QTVERSION MATCHES "5.*")
-ENDIF(QT_QMAKE_EXECUTABLE)
+ # now find qmake
+ IF(QT_QMAKE_EXECUTABLE)
+ EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_VERSION" OUTPUT_VARIABLE QTVERSION)
+ IF(QTVERSION MATCHES "4.*")
+ SET(QT4_INSTALLED TRUE)
+ ENDIF(QTVERSION MATCHES "4.*")
+ IF(QTVERSION MATCHES "5.*")
+ SET(QT5_INSTALLED TRUE)
+ ENDIF(QTVERSION MATCHES "5.*")
+ ENDIF(QT_QMAKE_EXECUTABLE)
+ENDIF(NOT QT5_INSTALLED)
IF(NOT DESIRED_QT_VERSION)
IF(QT4_INSTALLED)
More information about the telepathy-commits
mailing list