diff options
author | Uwe Korn <uwelk@xhochy.com> | 2014-03-14 16:56:36 +0100 |
---|---|---|
committer | David Edmundson <kde@davidedmundson.co.uk> | 2014-03-14 16:56:36 +0100 |
commit | 7feb7ee8d2eb1986b5a1314bb064b39a79718c68 (patch) | |
tree | 8e2fcc82c73f04ac1cb00a12c68435fd2d381a05 | |
parent | dca59397c00d27f3de0da4269fe53d4dda5520cb (diff) |
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
-rw-r--r-- | cmake/modules/FindQt.cmake | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/cmake/modules/FindQt.cmake b/cmake/modules/FindQt.cmake index 8cf0f254..5cb2836b 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) |