diff options
author | Alexander Akulich <akulichalexander@gmail.com> | 2019-11-07 02:21:29 +0300 |
---|---|---|
committer | Alexander Akulich <akulichalexander@gmail.com> | 2019-11-08 02:03:54 +0300 |
commit | 025639ec6ad994d8b22a73fb4dca257803dd5cb5 (patch) | |
tree | 0a6e01276d765f3bde58a2c7d5ea4e2cea340adf /cmake | |
parent | c709c19887ec8af3fcbe63e4a18f6cc713d01565 (diff) |
CMake: Drop custom FindQt5 module, rebase on Qt5 targets
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/Doxygen.cmake | 2 | ||||
-rw-r--r-- | cmake/modules/FindQt.cmake | 104 | ||||
-rw-r--r-- | cmake/modules/FindQt5.cmake | 133 | ||||
-rw-r--r-- | cmake/modules/QtMacros.cmake | 11 |
4 files changed, 12 insertions, 238 deletions
diff --git a/cmake/modules/Doxygen.cmake b/cmake/modules/Doxygen.cmake index ae040ebd..661ea8c4 100644 --- a/cmake/modules/Doxygen.cmake +++ b/cmake/modules/Doxygen.cmake @@ -14,7 +14,7 @@ if(DOXYGEN_FOUND) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(QHELPGENERATOR DEFAULT_MSG QHELPGENERATOR_EXECUTABLE) - set(QT_TAGS_FILE ${QT_DOC_DIR}/html/qt.tags) + set(QT_TAGS_FILE ${QT_DOC_DIR}/qtcore/qtcore.tags) if(EXISTS ${QT_TAGS_FILE}) find_package(Perl QUIET) diff --git a/cmake/modules/FindQt.cmake b/cmake/modules/FindQt.cmake deleted file mode 100644 index f1f5245f..00000000 --- a/cmake/modules/FindQt.cmake +++ /dev/null @@ -1,104 +0,0 @@ -# - Searches for Qt4 or Qt5. - -# Copyright (C) 2001-2009 Kitware, Inc. -# Copyright (C) 2011 Collabora Ltd. <http://www.collabora.co.uk/> -# Copyright (C) 2011 Nokia Corporation -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -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() -ENDIF() - -#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() - - # 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() - IF(QTVERSION MATCHES "^5.*") - SET(QT5_INSTALLED TRUE) - ENDIF() - ENDIF() -ENDIF() - -IF(NOT DESIRED_QT_VERSION) - IF(QT4_INSTALLED) - SET(DESIRED_QT_VERSION 4 CACHE STRING "Pick a version of Qt to use: 4 or 5") - ENDIF() - IF(QT5_INSTALLED) - SET(DESIRED_QT_VERSION 5 CACHE STRING "Pick a version of Qt to use: 4 or 5") - ENDIF() -ENDIF() - -IF(DESIRED_QT_VERSION MATCHES 4) - SET(Qt4_FIND_REQUIRED ${Qt_FIND_REQUIRED}) - SET(Qt4_FIND_QUIETLY ${Qt_FIND_QUIETLY}) - SET(QT_MIN_VERSION ${QT4_MIN_VERSION}) - SET(QT_MAX_VERSION ${QT4_MAX_VERSION}) - INCLUDE(FindQt4) -ENDIF() -IF(DESIRED_QT_VERSION MATCHES 5) - SET(Qt5_FIND_REQUIRED ${Qt_FIND_REQUIRED}) - SET(Qt5_FIND_QUIETLY ${Qt_FIND_QUIETLY}) - SET(QT_MIN_VERSION ${QT5_MIN_VERSION}) - SET(QT_MAX_VERSION ${QT5_MAX_VERSION}) - INCLUDE(FindQt5) -ENDIF() - -IF(NOT QT4_INSTALLED AND NOT QT5_INSTALLED) - IF(Qt_FIND_REQUIRED) - MESSAGE(SEND_ERROR "CMake was unable to find any Qt versions, put qmake in your path, or set QTDIR/QT_QMAKE_EXECUTABLE.") - ENDIF() -ELSE() - IF(NOT QT_FOUND) - IF(Qt_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "CMake was unable to find Qt version: ${DESIRED_QT_VERSION}, put qmake in your path or set QTDIR/QT_QMAKE_EXECUTABLE.") - ELSE() - MESSAGE("CMake was unable to find Qt version: ${DESIRED_QT_VERSION}, put qmake in your path or set QTDIR/QT_QMAKE_EXECUTABLE.") - ENDIF() - ENDIF() -ENDIF() - -MACRO(QT_GET_MOC_FLAGS moc_flags) - IF(QT_VERSION_MAJOR MATCHES 4) - QT4_GET_MOC_FLAGS(${moc_flags}) - ELSE() - IF(QT_VERSION_MAJOR MATCHES 5) - QT5_GET_MOC_FLAGS(${moc_flags}) - ENDIF() - ENDIF() -ENDMACRO() - -MACRO(QT_CREATE_MOC_COMMAND infile outfile moc_flags moc_options) - IF(QT_VERSION_MAJOR MATCHES 4) - IF(CMAKE_VERSION VERSION_GREATER 2.8.11.20130607) - QT4_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}" "") - ELSE() - QT4_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}") - ENDIF() - ELSE() - IF(QT_VERSION_MAJOR MATCHES 5) - IF(QTVERSION VERSION_GREATER 5.1.99) - QT5_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}" "") - ELSE() - QT5_CREATE_MOC_COMMAND(${infile} ${outfile} "${moc_flags}" "${moc_options}") - ENDIF() - ENDIF() - ENDIF() -ENDMACRO() - -MARK_AS_ADVANCED(QT_QMAKE_EXECUTABLE_FINDQT) diff --git a/cmake/modules/FindQt5.cmake b/cmake/modules/FindQt5.cmake deleted file mode 100644 index ffd5dd38..00000000 --- a/cmake/modules/FindQt5.cmake +++ /dev/null @@ -1,133 +0,0 @@ -# - Find Qt5 -# This module can be used to find Qt5. -# The most important issues are that Qt5 pkgconfig files are installed with PKG_CONFIG_PATH properly -# set, and that Qt5 qmake is available via the system path. -# This module defines a number of key variables and macros. -# -# Below is a detailed list of variables that FindQt5.cmake sets. -# QT_FOUND If false, don't try to use Qt. -# QT5_FOUND If false, don't try to use Qt5. -# -# QT_VERSION_MAJOR The major version of Qt found. -# QT_VERSION_MINOR The minor version of Qt found. -# QT_VERSION_PATCH The patch version of Qt found. -# -# QT_BINARY_DIR Path to "bin" of Qt5 -# QT_DOC_DIR Path to "doc" of Qt5 -# -# QT_INCLUDES List of paths to all include directories of Qt5. -# -# QT_LIBRARIES List of paths to all libraries of Qt5. -# QT_QTCORE_LIBRARY The QtCore library -# QT_QTDBUS_LIBRARY The QtDBus library -# QT_QTGUI_LIBRARY The QtGui library -# QT_QTNETWORK_LIBRARY The QtNetwork library -# QT_QTTEST_LIBRARY The QtTest library -# QT_QTWIDGETS_LIBRARY The QtWidgets library -# QT_QTXML_LIBRARY The QtXml library -# -# also defined, but NOT for general use are -# QT_MOC_EXECUTABLE Where to find the moc tool -# QT_CONFIG_FLAGS Flags used when building Qt - -# Copyright (C) 2001-2009 Kitware, Inc. -# Copyright (C) 2011 Collabora Ltd. <http://www.collabora.co.uk/> -# Copyright (C) 2011 Nokia Corporation -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -IF(QT_INCLUDES AND QT_LIBRARIES AND QT_MAJOR_VERSION MATCHES 5) - # Already in cache, be silent - SET(QT_FOUND TRUE) - SET(QT5_FOUND TRUE) - RETURN() -ENDIF() - -IF(NOT Qt5Core_DIR) - IF(NOT QT_QMAKE_EXECUTABLE) - FIND_PROGRAM(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake 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() - - EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_VERSION" OUTPUT_VARIABLE QTVERSION) - IF(NOT QTVERSION MATCHES "5.*") - SET(QT_FOUND FALSE) - SET(QT5_FOUND FALSE) - IF(Qt5_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "CMake was unable to find Qt5, put qmake in your path or set QTDIR/QT_QMAKE_EXECUTABLE.") - ENDIF() - RETURN() - ENDIF() -ENDIF() - -find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt5DBus ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt5Test ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt5Network ${REQUIRED_QT_VERSION} REQUIRED) -find_package(Qt5Xml ${REQUIRED_QT_VERSION} REQUIRED) - -# Copy includes and library names into the same style as pkgconfig used for Qt4 -set(QT_INCLUDES ${Qt5Core_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${Qt5Test_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS}) - -set(QT_QTCORE_LIBRARY ${Qt5Core_LIBRARIES}) -set(QT_QTDBUS_LIBRARY ${Qt5DBus_LIBRARIES}) -set(QT_QTGUI_LIBRARY ${Qt5Gui_LIBRARIES}) -set(QT_QTNETWORK_LIBRARY ${Qt5Network_LIBRARIES}) -set(QT_QTTEST_LIBRARY ${Qt5Test_LIBRARIES}) -set(QT_QTWIDGETS_LIBRARY ${Qt5Widgets_LIBRARIES}) -set(QT_QTXML_LIBRARY ${Qt5Xml_LIBRARIES}) - -set(QT_LIBRARIES ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTTEST_LIBRARY} ${QT_QTWIDGETS_LIBRARY} ${QT_QTXML_LIBRARY}) - -SET(QT_VERSION_MAJOR ${Qt5Core_VERSION_MAJOR}) -SET(QT_VERSION_MINOR ${Qt5Core_VERSION_MINOR}) -SET(QT_VERSION_PATCH ${Qt5Core_VERSION_PATCH}) -SET(QT_VERSION ${Qt5Core_VERSION}) - -GET_PROPERTY(QT_QMAKE_EXECUTABLE TARGET ${Qt5Core_QMAKE_EXECUTABLE} PROPERTY IMPORTED_LOCATION) - -IF(NOT QT_INCLUDE_DIR) - EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_HEADERS" OUTPUT_VARIABLE QTHEADERS) - SET(QT_INCLUDE_DIR ${QTHEADERS} CACHE INTERNAL "" FORCE) -ENDIF() - -IF(NOT QT_LIBRARY_DIR) - EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_LIBS" OUTPUT_VARIABLE QTLIBS) - SET(QT_LIBRARY_DIR ${QTLIBS} CACHE INTERNAL "" FORCE) -ENDIF() - -IF(NOT QT_BINARY_DIR) - EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_BINS" OUTPUT_VARIABLE QTBINS) - SET(QT_BINARY_DIR ${QTBINS} CACHE INTERNAL "" FORCE) -ENDIF() - -IF(NOT QT_DOC_DIR) - EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_DOCS" OUTPUT_VARIABLE QTDOCS) - SET(QT_DOC_DIR ${QTDOCS} CACHE INTERNAL "" FORCE) -ENDIF() - -IF(NOT QT_MOC_EXECUTABLE) - FIND_PROGRAM(QT_MOC_EXECUTABLE NAMES moc moc5 moc-qt5 PATHS ${QT_BINARY_DIR} - NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) -ENDIF() - -MARK_AS_ADVANCED(QT_INCLUDES QT_INCLUDE_DIR - QT_LIBRARIES QT_LIBRARY_DIR - QT_BINARY_DIR - QT_DOC_DIR - QT_QMAKE_EXECUTABLE_FINDQT QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE) - -# Invokes pkgconfig, cleans up the result and sets variables -EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable qt_config Qt5Core - OUTPUT_VARIABLE _pkgconfig_flags - RESULT_VARIABLE _pkgconfig_failed) -STRING(REPLACE " " ";" QT_CONFIG_FLAGS "${_pkgconfig_flags}") - -INCLUDE(Qt5Macros) - -SET(QT_FOUND TRUE) -SET(QT5_FOUND TRUE) diff --git a/cmake/modules/QtMacros.cmake b/cmake/modules/QtMacros.cmake new file mode 100644 index 00000000..ab514372 --- /dev/null +++ b/cmake/modules/QtMacros.cmake @@ -0,0 +1,11 @@ +macro(qt_get_moc_flags moc_flags) + if(QT_VERSION_MAJOR MATCHES 5) + qt5_get_moc_flags(${moc_flags}) + endif() +endmacro() + +macro(qt_create_moc_command infile outfile moc_flags moc_options) + if(QT_VERSION_MAJOR MATCHES 5) + qt5_create_moc_command(${infile} ${outfile} "${moc_flags}" "${moc_options}" "" "") + endif() +endmacro() |