diff options
-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) |