Warning, /libraries/kunifiedpush/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
0002 # SPDX-License-Identifier: BSD-2-Clause
0003
0004 cmake_minimum_required(VERSION 3.16)
0005
0006 # KDE Application Version, managed by release script
0007 set (RELEASE_SERVICE_VERSION_MAJOR "22")
0008 set (RELEASE_SERVICE_VERSION_MINOR "04")
0009 set (RELEASE_SERVICE_VERSION_MICRO "00")
0010 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0011 project(KUnifiedPush VERSION ${RELEASE_SERVICE_VERSION})
0012
0013 option(KUNIFIEDPUSH_CLIENT_ONLY "Build only the application client library." FALSE)
0014
0015 set(KF_MIN_VERSION 5.240.0)
0016 set(QT_MIN_VERSION 6.5)
0017 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0018 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0019
0020 include(KDEInstallDirs)
0021 include(KDECMakeSettings)
0022 include(KDECompilerSettings NO_POLICY_SCOPE)
0023 include(ECMAddTests)
0024 include(ECMGenerateHeaders)
0025 include(ECMQtDeclareLoggingCategory)
0026 include(ECMSetupVersion)
0027 include(FeatureSummary)
0028 include(GenerateExportHeader)
0029 include(ECMDeprecationSettings)
0030
0031 ecm_setup_version(PROJECT
0032 VARIABLE_PREFIX KUNIFIEDPUSH
0033 VERSION_HEADER kunifiedpush_version.h
0034 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KUnifiedPushConfigVersion.cmake"
0035 SOVERSION 1
0036 )
0037
0038 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Test WebSockets)
0039 if (NOT ANDROID)
0040 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS DBus)
0041
0042 # for the KCM
0043 if (NOT KUNIFIEDPUSH_CLIENT_ONLY)
0044 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Service KCMUtils)
0045 endif()
0046 else()
0047 find_package(Gradle REQUIRED)
0048 endif()
0049
0050 set(KUNIFIEDPUSH_INCLUDE_INSTALLDIR ${KDE_INSTALL_INCLUDEDIR}/KUnifiedPush)
0051 ecm_set_disabled_deprecation_versions(QT 6.4 KF 5.102.0)
0052
0053 add_subdirectory(src)
0054 if (BUILD_TESTING AND NOT ANDROID)
0055 add_subdirectory(autotests)
0056 add_subdirectory(tests)
0057 endif()
0058
0059 set(KUNIFIEDPUSH_INSTALL_CMAKECONFIGDIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KUnifiedPush")
0060 configure_package_config_file(
0061 "${CMAKE_CURRENT_SOURCE_DIR}/KUnifiedPushConfig.cmake.in"
0062 "${CMAKE_CURRENT_BINARY_DIR}/KUnifiedPushConfig.cmake"
0063 INSTALL_DESTINATION "${KUNIFIEDPUSH_INSTALL_CMAKECONFIGDIR}"
0064 )
0065
0066 install(FILES
0067 "${CMAKE_CURRENT_BINARY_DIR}/KUnifiedPushConfig.cmake"
0068 "${CMAKE_CURRENT_BINARY_DIR}/KUnifiedPushConfigVersion.cmake"
0069 DESTINATION "${KUNIFIEDPUSH_INSTALL_CMAKECONFIGDIR}"
0070 COMPONENT Devel
0071 )
0072 install(EXPORT KUnifiedPushTargets DESTINATION "${KUNIFIEDPUSH_INSTALL_CMAKECONFIGDIR}" FILE KUnifiedPushTargets.cmake)
0073 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kunifiedpush_version.h DESTINATION ${KUNIFIEDPUSH_INCLUDE_INSTALLDIR} COMPONENT Devel)
0074 ecm_qt_install_logging_categories(
0075 EXPORT KUnifiedPushLogging
0076 FILE org_kde_kunifiedpush.categories
0077 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0078 )
0079
0080 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)