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)