Warning, /accessibility/kontrast/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
0002 # SPDX-License-Identifier: BSD-2-Clause
0003 
0004 cmake_minimum_required(VERSION 3.16)
0005 
0006 set(CMAKE_CXX_STANDARD 20)
0007 set(CMAKE_CXX_STANDARD_REQUIRED)
0008 
0009 # KDE Application Version, managed by release script
0010 set (RELEASE_SERVICE_VERSION_MAJOR "24")
0011 set (RELEASE_SERVICE_VERSION_MINOR "04")
0012 set (RELEASE_SERVICE_VERSION_MICRO "70")
0013 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
0014 
0015 project(kontrast VERSION ${RELEASE_SERVICE_VERSION})
0016 
0017 set(QT_MIN_VERSION "6.5.0")
0018 set(KF_MIN_VERSION "5.240.0")
0019 
0020 include(FeatureSummary)
0021 
0022 ################# set KDE specific information #################
0023 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
0024 
0025 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
0026 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
0027 
0028 include(KDEInstallDirs)
0029 include(KDECMakeSettings)
0030 include(KDECompilerSettings NO_POLICY_SCOPE)
0031 include(ECMSetupVersion)
0032 include(ECMGenerateHeaders)
0033 include(ECMPoQmTools)
0034 include(KDEClangFormat)
0035 include(KDEGitCommitHooks)
0036 include(ECMDeprecationSettings)
0037 include(ECMAddAndroidApk)
0038 
0039 ecm_setup_version(${PROJECT_VERSION}
0040     VARIABLE_PREFIX KONTRAST
0041     SOVERSION ${PROJECT_VERSION_MAJOR}
0042     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/config-kontrast.h"
0043 )
0044 
0045 ################# Find dependencies #################
0046 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg Sql)
0047 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Kirigami I18n CoreAddons)
0048 find_package(FutureSQL6 REQUIRED)
0049 find_package(QCoro6 REQUIRED COMPONENTS Core)
0050 
0051 if(NOT ANDROID)
0052     find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS DBus Widgets)
0053     find_package(KF6DocTools ${KF_MIN_VERSION} REQUIRED)
0054 endif()
0055 
0056 ################# build and install #################
0057 add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING)
0058 add_definitions(-DQT_USE_QSTRINGBUILDER)
0059 add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
0060 ecm_set_disabled_deprecation_versions(QT 6.5  KF 5.240.0)
0061 kde_enable_exceptions()
0062 add_subdirectory(src)
0063 
0064 if(NOT ANDROID)
0065     add_subdirectory(doc)
0066     kdoctools_install(po)
0067 endif()
0068 
0069 install(PROGRAMS org.kde.kontrast.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0070 install(FILES org.kde.kontrast.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0071 install(FILES org.kde.kontrast.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps)
0072 
0073 ki18n_install(po)
0074 
0075 
0076 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
0077 
0078 if(ANDROID)
0079     kirigami_package_breeze_icons(ICONS
0080         go-home
0081         favorite
0082         help-contents
0083         help-symbolic
0084         help-about-symbolic
0085         applications-graphics
0086         color-picker
0087         reverse
0088         randomize
0089         arrow-right
0090         license
0091     )
0092 endif()
0093 
0094 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h)
0095 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0096 
0097 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)