Warning, /graphics/koko/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
0002 # SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 cmake_minimum_required(VERSION 3.16)
0005 
0006 # KDE Applications version, managed by release script.
0007 set(RELEASE_SERVICE_VERSION_MAJOR "24")
0008 set(RELEASE_SERVICE_VERSION_MINOR "04")
0009 set(RELEASE_SERVICE_VERSION_MICRO "70")
0010 set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0011 
0012 project(koko VERSION ${RELEASE_SERVICE_VERSION})
0013 
0014 set(CMAKE_CXX_STANDARD 17)
0015 set(QT_MIN_VERSION 6.5)
0016 set(KF_MIN_VERSION 5.240)
0017 set(KDE_COMPILERSETTINGS_LEVEL 5.84)
0018 
0019 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0020 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH})
0021 
0022 include(FeatureSummary)
0023 include(ECMAddTests)
0024 include(KDEInstallDirs)
0025 include(KDECMakeSettings)
0026 include(ECMFindQmlModule)
0027 include(KDECompilerSettings)
0028 include(GenerateExportHeader)
0029 include(ECMInstallIcons)
0030 include(KDEClangFormat)
0031 include(KDEGitCommitHooks)
0032 include(ECMSetupVersion)
0033 
0034 ecm_setup_version(${PROJECT_VERSION}
0035     VARIABLE_PREFIX KOKO
0036     VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h
0037 )
0038 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Qml Quick Widgets Test Sql Positioning Svg)
0039 
0040 if(ANDROID)
0041     find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS AndroidExtras)
0042 endif()
0043 
0044 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS I18n Declarative Config ConfigWidgets KIO GuiAddons CoreAddons Notifications FileMetaData DBusAddons)
0045 
0046 find_package(LibExiv2 0.21 REQUIRED)
0047 
0048 ecm_find_qmlmodule(org.kde.kquickimageeditor 1.0)
0049 find_package(KQuickImageEditor COMPONENTS)
0050 set_package_properties(KQuickImageEditor PROPERTIES
0051     TYPE REQUIRED
0052     DESCRIPTION "Simple image editor for QtQuick applications"
0053     URL "https://invent.kde.org/libraries/kquickimageeditor/"
0054     PURPOSE "Add image editing capability to image attachments"
0055 )
0056 
0057 find_package(XCB COMPONENTS XCB)
0058 set_package_properties(XCB PROPERTIES
0059     PURPOSE "Required for getting display color profile on X11"
0060     TYPE OPTIONAL
0061 )
0062 
0063 find_package(Qt6QuickControls2 ${QT_MIN_VER})
0064 set_package_properties(Qt6QuickControls2 PROPERTIES
0065     DESCRIPTION "User interface controls based on Qt Quick"
0066     PURPOSE "Required at runtime to run Koko"
0067     TYPE RUNTIME
0068 )
0069 
0070 find_package(KF6Kirigami)
0071 set_package_properties(KF6Kirigami PROPERTIES
0072     DESCRIPTION "A QtQuick based components set"
0073     PURPOSE "Required at runtime to run Koko"
0074     TYPE RUNTIME
0075 )
0076 
0077 find_package(KF6Purpose)
0078 set_package_properties(KF6Purpose PROPERTIES
0079     DESCRIPTION "Offers available actions for a specific purpose"
0080     PURPOSE "Required at runtime to run Koko and allow sharing of files"
0081     TYPE RUNTIME
0082 )
0083 
0084 include_directories(
0085   ${CMAKE_SOURCE_DIR}
0086   ${CMAKE_SOURCE_DIR}/src
0087   ${CMAKE_BINARY_DIR}/src
0088 )
0089 
0090 ki18n_install(po)
0091 
0092 kde_enable_exceptions()
0093 add_subdirectory(src)
0094 add_subdirectory(autotests)
0095 add_subdirectory(icons)
0096 
0097 install(FILES org.kde.koko.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0098 
0099 # add clang-format target for all our real source files
0100 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0101 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0102 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0103 
0104 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)