Warning, /utilities/kweather/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # 0002 # SPDX-FileCopyrightText: 2020 Han Young <hanyoung@protonmail.com> 0003 # SPDX-FileCopyrightText: 2020 Devin Lin <espidev@gmail.com> 0004 # 0005 # SPDX-License-Identifier: GPL-2.0-or-later 0006 # 0007 cmake_minimum_required(VERSION 3.16) 0008 0009 # KDE Applications 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(kweather VERSION ${RELEASE_SERVICE_VERSION}) 0016 0017 set(QT_MIN_VERSION "6.5.0") 0018 set(KF_MIN_VERSION "5.240.0") 0019 0020 set(CMAKE_CXX_STANDARD 17) 0021 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0022 0023 option(BUILD_PLASMOID "Build the weather plasmoid" ON) 0024 0025 include(FeatureSummary) 0026 0027 find_package(ECM ${KF_MIN_VERSION} REQUIRED) 0028 0029 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked 0030 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0031 0032 include(ECMSetupVersion) 0033 include(ECMGenerateHeaders) 0034 include(ECMPoQmTools) 0035 include(ECMCheckOutboundLicense) 0036 include(ECMFindQmlModule) 0037 include(KDEInstallDirs) 0038 include(KDECMakeSettings) 0039 include(KDECompilerSettings NO_POLICY_SCOPE) 0040 include(KDEGitCommitHooks) 0041 include(KDEClangFormat) 0042 include(ECMQmlModule) 0043 include(ECMAddAndroidApk) 0044 0045 # clang-format 0046 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h) 0047 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0048 0049 ecm_setup_version(${PROJECT_VERSION} 0050 VARIABLE_PREFIX KWEATHER 0051 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h 0052 ) 0053 0054 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS 0055 Core 0056 Quick 0057 Test 0058 Gui 0059 Svg 0060 QuickControls2 0061 Charts 0062 OpenGL 0063 ) 0064 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS 0065 Config 0066 Kirigami 0067 I18n 0068 CoreAddons 0069 Notifications 0070 ) 0071 find_package(KWeatherCore 0.8.0 REQUIRED) 0072 0073 find_package(KF6KirigamiAddons 0.11 REQUIRED) 0074 0075 if (ANDROID) 0076 find_package(OpenSSL REQUIRED) 0077 else () 0078 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets) 0079 endif() 0080 0081 if (NOT ANDROID AND BUILD_PLASMOID) 0082 find_package(Plasma REQUIRED) 0083 endif() 0084 0085 ecm_find_qmlmodule(org.kde.kholidays 1.0) 0086 0087 add_subdirectory(src) 0088 0089 ki18n_install(po) 0090 0091 if (ANDROID) 0092 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) 0093 install(FILES org.kde.kweather.svg DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/kirigami/breeze-internal/icons/) 0094 else() 0095 install(PROGRAMS org.kde.kweather.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0096 install(FILES org.kde.kweather.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0097 install(FILES org.kde.kweather.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps/) 0098 0099 # DBus 0100 configure_file(org.kde.kweather.service.in 0101 ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kweather.service) 0102 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kweather.service 0103 DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}) 0104 endif() 0105 0106 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0107 0108 file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.h *.qml) 0109 ecm_check_outbound_license(LICENSES GPL-2.0-only GPL-3.0-only FILES ${ALL_SOURCE_FILES}) 0110 0111 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)