Warning, /system/kjournald/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-License-Identifier: BSD-3-Clause
0002 # SPDX-FileCopyrightText: Andreas Cord-Landwehr <cordlandwehr@kde.org>
0003 
0004 cmake_minimum_required(VERSION 3.16)
0005 
0006 set(RELEASE_SERVICE_VERSION_MAJOR "23")
0007 set(RELEASE_SERVICE_VERSION_MINOR "07")
0008 set(RELEASE_SERVICE_VERSION_MICRO "70")
0009 set(KJOURNALD_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0010 
0011 project(kjournald VERSION ${KJOURNALD_VERSION})
0012 
0013 set(CMAKE_AUTOUIC ON)
0014 set(CMAKE_CXX_STANDARD 17)
0015 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0016 include(FeatureSummary)
0017 include(GenerateExportHeader)
0018 include(CMakePackageConfigHelpers)
0019 
0020 add_definitions(
0021     -DQT_DISABLE_DEPRECATED_BEFORE=0x051500
0022     -DQT_DEPRECATED_WARNINGS_SINCE=0x060000
0023     -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055600
0024     -DKF_DEPRECATED_WARNINGS_SINCE=0x060000
0025 )
0026 
0027 # KF5 minimal version is chosen to support Ubuntu 22.04 LTS
0028 set(KF5_VERSION 5.80.0)
0029 find_package(ECM ${KF5_VERSION} NO_MODULE)
0030 set_package_properties(ECM PROPERTIES
0031     TYPE REQUIRED
0032     DESCRIPTION "Extra CMake Modules."
0033     URL "https://invent.kde.org/frameworks/extra-cmake-modules")
0034 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0035 include(ECMAddTests)
0036 include(ECMEnableSanitizers)
0037 include(ECMCoverageOption)
0038 include(ECMSetupVersion)
0039 include(ECMQtDeclareLoggingCategory)
0040 include(KDEInstallDirs)
0041 include(KDECMakeSettings)
0042 include(KDEClangFormat)
0043 
0044 ecm_setup_version(${KJOURNALD_VERSION}
0045     VARIABLE_PREFIX KJOURNALD
0046     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjournald_version.h"
0047     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KJournaldConfigVersion.cmake"
0048     SOVERSION 0
0049 )
0050 
0051 find_package(KF5 ${KF5_VERSION} REQUIRED COMPONENTS
0052     CoreAddons
0053     I18n
0054 )
0055 add_definitions(-DTRANSLATION_DOMAIN=\"kjournald\")
0056 
0057 find_package(PkgConfig REQUIRED)
0058 pkg_check_modules(SYSTEMD REQUIRED IMPORTED_TARGET libsystemd)
0059 
0060 set(REQUIRED_QT_VERSION 5.15.0)
0061 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS
0062     Core
0063     Quick
0064     QuickControls2
0065     Test
0066     Widgets
0067 )
0068 
0069 option(INSTALL_EXPERIMENTAL_HEADERS "Install headers for libkjournald (no stable API yet)" OFF)
0070 
0071 enable_testing()
0072 
0073 add_subdirectory(lib)
0074 add_subdirectory(browser)
0075 add_subdirectory(autotests)
0076 
0077 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KJournald")
0078 configure_package_config_file(
0079     "${CMAKE_CURRENT_SOURCE_DIR}/KJournaldConfig.cmake.in"
0080     "${CMAKE_CURRENT_BINARY_DIR}/KJournaldConfig.cmake"
0081     INSTALL_DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0082 )
0083 
0084 if(INSTALL_EXPERIMENTAL_HEADERS)
0085     install(
0086         FILES
0087             "${CMAKE_CURRENT_BINARY_DIR}/KJournaldConfig.cmake"
0088             "${CMAKE_CURRENT_BINARY_DIR}/KJournaldConfigVersion.cmake"
0089         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0090         COMPONENT Devel
0091     )
0092 
0093     install(
0094         FILES
0095             ${CMAKE_CURRENT_BINARY_DIR}/kjournald_version.h
0096         DESTINATION ${KDE_INSTALL_INCLUDEDIR}
0097         COMPONENT Devel
0098     )
0099 
0100     install(EXPORT KJournaldTargets
0101             DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0102             FILE KJournaldTargets.cmake)
0103 endif()
0104 
0105 ki18n_install(po)
0106 
0107 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)