From 7d1e74b5147f411d30f2d76420ba62737ec93ab9 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Sun, 19 Mar 2023 01:48:29 +0100 Subject: Support installing QXmpp with Qt 5 and Qt 6 in parallel Closes #540. --- cmake/QXmppQtAutoConfig.cmake.in | 37 ++++++++++++++++++++++++++++++++++++ cmake/QXmppQtAutoConfigVersion.cmake | 8 ++++++++ 2 files changed, 45 insertions(+) create mode 100644 cmake/QXmppQtAutoConfig.cmake.in create mode 100644 cmake/QXmppQtAutoConfigVersion.cmake (limited to 'cmake') diff --git a/cmake/QXmppQtAutoConfig.cmake.in b/cmake/QXmppQtAutoConfig.cmake.in new file mode 100644 index 00000000..58c99a96 --- /dev/null +++ b/cmake/QXmppQtAutoConfig.cmake.in @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: 2023 Linus Jahn +# +# SPDX-License-Identifier: CC0-1.0 + +@PACKAGE_INIT@ + +# Detect Qt version +if(NOT DEFINED QT_VERSION_MAJOR) + if(TARGET Qt6::Core) + set(QT_VERSION_MAJOR 6) + elseif(TARGET Qt5::Core) + set(QT_VERSION_MAJOR 5) + else() + # default to Qt 6 + set(QT_VERSION_MAJOR 6) + endif() +endif() + +set(_QXmpp_FIND_PARTS_REQUIRED) +if(QXmpp_FIND_REQUIRED) + set(_QXmpp_FIND_PARTS_REQUIRED REQUIRED) +endif() +set(_QXmpp_FIND_PARTS_QUIET) +if(QXmpp_FIND_QUIETLY) + set(_QXmpp_FIND_PARTS_QUIET QUIET) +endif() + +# Pass through arguments to QXmppQt5/6 +include(CMakeFindDependencyMacro) +find_package(QXmppQt${QT_VERSION_MAJOR} + ${QXmpp_FIND_VERSION} + ${_QXmpp_FIND_PARTS_REQUIRED} + ${_QXmpp_FIND_PARTS_QUIET} + COMPONENTS ${QXmpp_FIND_COMPONENTS} +) + +set(QXmpp_FOUND ${QXmppQt${QT_VERSION_MAJOR}_FOUND}) diff --git a/cmake/QXmppQtAutoConfigVersion.cmake b/cmake/QXmppQtAutoConfigVersion.cmake new file mode 100644 index 00000000..5f2b3f10 --- /dev/null +++ b/cmake/QXmppQtAutoConfigVersion.cmake @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: 2023 Linus Jahn +# +# SPDX-License-Identifier: CC0-1.0 + +set(PACKAGE_VERSION "") +# Allow all requested versions here, the actual check is going to be done in QXmppQt5/6. +set(PACKAGE_VERSION_COMPATIBLE TRUE) + -- cgit v1.2.3