diff options
author | Rolf Eike Beer <eike@sf-mail.de> | 2012-10-24 17:50:47 (GMT) |
---|---|---|
committer | Rolf Eike Beer <eike@sf-mail.de> | 2012-10-24 18:19:50 (GMT) |
commit | 7bb9395974c2edb078db908cc9c7f1c5752e2aff (patch) | |
tree | 6e1056bdbaf9354f89eda85358b41570cb5d2745 /Modules/FindQt.cmake | |
parent | f551fa62450379b41b510054948e097582538357 (diff) | |
download | CMake-7bb9395974c2edb078db908cc9c7f1c5752e2aff.zip CMake-7bb9395974c2edb078db908cc9c7f1c5752e2aff.tar.gz CMake-7bb9395974c2edb078db908cc9c7f1c5752e2aff.tar.bz2 |
FindQt: improve version selection
-make "find_package(Qt 3)" work
-if DESIRED_QT_VERSION was set, but only the other Qt major version was found
don't override the DESIRED_QT_VERSION set by the user
Diffstat (limited to 'Modules/FindQt.cmake')
-rw-r--r-- | Modules/FindQt.cmake | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Modules/FindQt.cmake b/Modules/FindQt.cmake index 13f18fe..1a2e16c 100644 --- a/Modules/FindQt.cmake +++ b/Modules/FindQt.cmake @@ -56,6 +56,10 @@ if(GLOB_TEMP_VAR) endif() set(GLOB_TEMP_VAR) +if (Qt_FIND_VERSION) + set(DESIRED_QT_VERSION "${Qt_FIND_VERSION}") +endif () + # now find qmake find_program(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin") if(QT_QMAKE_EXECUTABLE_FINDQT) @@ -113,15 +117,15 @@ if(QT3_QGLOBAL_H_FILE) set(QT3_INSTALLED TRUE) endif() -if(QT3_INSTALLED AND QT4_INSTALLED ) +if(QT3_INSTALLED AND QT4_INSTALLED AND NOT DESIRED_QT_VERSION) # force user to pick if we have both set(DESIRED_QT_VERSION 0 CACHE STRING "Pick a version of Qt to use: 3 or 4") else() # if only one found then pick that one - if(QT3_INSTALLED) + if(QT3_INSTALLED AND NOT DESIRED_QT_VERSION EQUAL 4) set(DESIRED_QT_VERSION 3 CACHE STRING "Pick a version of Qt to use: 3 or 4") endif() - if(QT4_INSTALLED) + if(QT4_INSTALLED AND NOT DESIRED_QT_VERSION EQUAL 3) set(DESIRED_QT_VERSION 4 CACHE STRING "Pick a version of Qt to use: 3 or 4") endif() endif() |