summaryrefslogtreecommitdiffstats
path: root/Modules/FindQt.cmake
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2012-10-24 17:50:47 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2012-10-24 18:19:50 (GMT)
commit7bb9395974c2edb078db908cc9c7f1c5752e2aff (patch)
tree6e1056bdbaf9354f89eda85358b41570cb5d2745 /Modules/FindQt.cmake
parentf551fa62450379b41b510054948e097582538357 (diff)
downloadCMake-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.cmake10
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()