diff options
| author | Linus Jahn <lnj@kaidan.im> | 2023-04-07 16:21:10 +0200 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2023-04-07 16:21:10 +0200 |
| commit | ab4bdf2da41a26f462fe3a333a34e32c999e2a6d (patch) | |
| tree | 2501bde9b6da885056166c769befa7f7d4729e49 /CMakeLists.txt | |
| parent | c8e13f6fd3df8dcab0170dda6f54eaf5175d8437 (diff) | |
| parent | b44a7ee310bd2c9bc7c0d234ab7a96c501d20559 (diff) | |
| download | qxmpp-ab4bdf2da41a26f462fe3a333a34e32c999e2a6d.tar.gz | |
Merge branch '1.5'
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f9181f9..f3e3ad94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,8 +12,12 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/modules") +# Qt if(NOT DEFINED QT_VERSION_MAJOR) find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Network Xml) endif() @@ -26,9 +30,6 @@ if(${QT_VERSION_MAJOR} EQUAL 6) find_package(Qt6Core5Compat) endif() -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) - include(GNUInstallDirs) option(BUILD_SHARED "Build shared library" ON) @@ -40,6 +41,9 @@ option(BUILD_OMEMO "Build the OMEMO module" OFF) option(WITH_GSTREAMER "Build with GStreamer support for Jingle" OFF) option(WITH_QCA "Build with QCA for OMEMO or encrypted file sharing" ${Qca-qt${QT_VERSION_MAJOR}_FOUND}) +set(QXMPP_TARGET QXmppQt${QT_VERSION_MAJOR}) +set(QXMPPOMEMO_TARGET QXmppOmemoQt${QT_VERSION_MAJOR}) + add_definitions( -DQT_DISABLE_DEPRECATED_BEFORE=0x050F00 -DQURL_NO_CAST_FROM_STRING @@ -82,30 +86,60 @@ endif() include(CMakePackageConfigHelpers) +# Normal QXmppQt5/6 package configure_package_config_file( QXmppConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/QXmppConfig.cmake - INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/qxmpp" + ${CMAKE_CURRENT_BINARY_DIR}/${QXMPP_TARGET}Config.cmake + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${QXMPP_TARGET}" ) write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/QXmppConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${QXMPP_TARGET}ConfigVersion.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${QXMPP_TARGET}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${QXMPP_TARGET}ConfigVersion.cmake + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${QXMPP_TARGET}" + COMPONENT Devel +) + +# QXmpp package with Qt version autodetect +configure_package_config_file( + cmake/QXmppQtAutoConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/QXmppConfig.cmake + INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/QXmpp" +) + +install( FILES ${CMAKE_CURRENT_BINARY_DIR}/QXmppConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/QXmppConfigVersion.cmake - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/qxmpp" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/QXmpp" + COMPONENT Devel +) +install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/QXmppQtAutoConfigVersion.cmake + RENAME QXmppConfigVersion.cmake + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/QXmpp" COMPONENT Devel ) -# Generate qxmpp.pc +# Generate QXmppQt5/6.pc configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qxmpp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/qxmpp.pc @ONLY) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/qxmpp.pc + RENAME QXmppQt${QT_VERSION_MAJOR}.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" COMPONENT Devel ) +# "qxmpp.pc" for backwards-compatibility +if(QT_VERSION_MAJOR EQUAL 5) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/qxmpp.pc + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + COMPONENT Devel + ) +endif() + |
