gentoo/dev-util/cmake/files/cmake-3.5.2-FindQt4.patch

46 lines
1.5 KiB
Diff
Raw Permalink Normal View History

Ensure that the correct version of Qt is always used.
With the introduction qt-4.8.6, Qt binaries were moved from /usr/bin to
/usr/$(get_libdir)/qt4/bin, leaving behind in their place symlinks to qtchooser.
There is no guarantee to which version of Qt these symlinks might point, so it
is necessary to find the correct version explicitly.
Once qmake is found, it is queried for the correct location of all other items.
Gentoo-bug: 547222
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -482,13 +482,23 @@
get_filename_component(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
- find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME}
- PATHS
- ENV QTDIR
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]"
- PATH_SUFFIXES bin
- DOC "The qmake executable for the Qt installation to use"
- )
+ if(CMAKE_GENTOO_BUILD OR CMAKE_BUILD_TYPE STREQUAL Gentoo)
+ find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME}
+ PATHS
+ $ENV{EPREFIX}/usr/${CMAKE_INSTALL_LIBDIR}/qt4/bin
+ $ENV{EPREFIX}/usr/bin
+ NO_DEFAULT_PATH
+ DOC "The qmake executable for the Qt installation to use"
+ )
+ else()
+ find_program(QT_QMAKE_EXECUTABLE NAMES ${QMAKE_NAME}
+ PATHS
+ ENV QTDIR
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]"
+ PATH_SUFFIXES bin
+ DOC "The qmake executable for the Qt installation to use"
+ )
+ endif()
set(major 0)
if (QT_QMAKE_EXECUTABLE)