Warning, /plasma-mobile/raven/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # Copyright 2021 Carl Schwan <carl@carlschwan.eu>
0002 # Copyright 2022 Devin Lin <devin@kde.org>
0003 # SPDX-License-Identifier: GPL-2.0-or-later
0004 
0005 cmake_minimum_required(VERSION 3.16)
0006 
0007 project(raven)
0008 
0009 set (CMAKE_CXX_STANDARD 17)
0010 set(PROJECT_VERSION "0.1")
0011 set(QT_MIN_VERSION "5.15.0")
0012 set(KF5_MIN_VERSION "5.70.0")
0013 set(LIBKDEPIM_VERSION "5.19.0")
0014 
0015 
0016 
0017 include(FeatureSummary)
0018 
0019 ################# set KDE specific information #################
0020 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
0021 
0022 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
0023 set(CMAKE_MODULE_PATH 
0024     ${CMAKE_MODULE_PATH} 
0025     ${ECM_MODULE_PATH} 
0026 )
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(ECMQmlModule)
0036 
0037 ecm_setup_version(${PROJECT_VERSION}
0038     VARIABLE_PREFIX RAVEN
0039     VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h
0040 )
0041 
0042 ################# Find dependencies #################
0043 find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS 
0044     Core 
0045     Gui 
0046     Qml 
0047     QuickControls2 
0048     Svg 
0049     Sql 
0050     WebEngineWidgets
0051 )
0052 
0053 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS 
0054     Kirigami2 
0055     I18n 
0056     CoreAddons 
0057     Declarative 
0058     ItemModels
0059     KCMUtils
0060     KIO
0061 )
0062 
0063 find_package(KF5 ${LIBKDEPIM_VERSION} REQUIRED COMPONENTS 
0064     Akonadi 
0065     AkonadiContact 
0066     MailCommon 
0067     PimCommonAkonadi 
0068     Libkdepim
0069     AkonadiMime
0070     Ldap
0071     Mime
0072     MailTransport
0073     MailTransportAkonadi
0074     PimCommon
0075     PimCommonAkonadi
0076     MessageList
0077     I18n
0078 )
0079 
0080 find_package(KF5KirigamiAddons 0.6 REQUIRED)
0081 
0082 set(CMAKE_CXX_STANDARD 17)
0083 
0084 ################# build and install #################
0085 
0086 add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING)
0087 add_definitions(-DQT_USE_QSTRINGBUILDER)
0088 add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
0089 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
0090 add_definitions(-DQT_STRICT_ITERATORS)
0091 
0092 add_subdirectory(src)
0093 
0094 install(PROGRAMS org.kde.raven.desktop DESTINATION ${KDE_INSTALL_APPDIR})
0095 install(FILES org.kde.raven.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0096 install(FILES org.kde.raven.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps/)
0097 
0098 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
0099 
0100 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h)
0101 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0102