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 "23") 0011 set(RELEASE_SERVICE_VERSION_MINOR "08") 0012 set(RELEASE_SERVICE_VERSION_MICRO "5") 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 "5.15.2") 0018 set(KF_MIN_VERSION "5.101.0") 0019 if (ANDROID) 0020 set(QT_MIN_VERSION "5.15.10") 0021 endif() 0022 0023 set(CMAKE_CXX_STANDARD 17) 0024 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0025 0026 option(BUILD_PLASMOID "Build the weather plasmoid" ON) 0027 0028 include(FeatureSummary) 0029 0030 find_package(ECM ${KF_MIN_VERSION} REQUIRED) 0031 0032 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked 0033 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0034 0035 include(ECMSetupVersion) 0036 include(ECMGenerateHeaders) 0037 include(ECMPoQmTools) 0038 include(ECMCheckOutboundLicense) 0039 include(ECMFindQmlModule) 0040 include(KDEInstallDirs) 0041 include(KDECMakeSettings) 0042 include(KDECompilerSettings NO_POLICY_SCOPE) 0043 include(KDEGitCommitHooks) 0044 include(KDEClangFormat) 0045 0046 # clang-format 0047 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h) 0048 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0049 0050 ecm_setup_version(${PROJECT_VERSION} 0051 VARIABLE_PREFIX KWEATHER 0052 VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/version.h 0053 ) 0054 0055 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS 0056 Core 0057 Quick 0058 Test 0059 Gui 0060 Svg 0061 QuickControls2 0062 Charts 0063 ) 0064 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS 0065 Config 0066 Kirigami2 0067 I18n 0068 CoreAddons 0069 Notifications 0070 ) 0071 find_package(KF${QT_MAJOR_VERSION}KWeatherCore 0.6.0 REQUIRED) 0072 find_package(Qt${QT_MAJOR_VERSION}QuickCompiler) 0073 if (${QT_MAJOR_VERSION} EQUAL "6") 0074 find_package(Qt${QT_MAJOR_VERSION} REQUIRED COMPONENTS OpenGL) 0075 endif() 0076 0077 find_package(KF${QT_MAJOR_VERSION}KirigamiAddons 0.6 REQUIRED) 0078 0079 if (ANDROID) 0080 find_package(OpenSSL REQUIRED) 0081 else () 0082 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets) 0083 endif() 0084 0085 if (NOT ANDROID AND BUILD_PLASMOID) 0086 find_package(KF${QT_MAJOR_VERSION} ${KF_MIN_VERSION} REQUIRED COMPONENTS Plasma) 0087 endif() 0088 0089 ecm_find_qmlmodule(org.kde.kirigamiaddons.labs.mobileform 0.1) 0090 ecm_find_qmlmodule(org.kde.kholidays 1.0) 0091 0092 add_subdirectory(src) 0093 0094 ki18n_install(po) 0095 0096 if (ANDROID) 0097 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) 0098 endif() 0099 0100 install(PROGRAMS org.kde.kweather.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0101 install(FILES org.kde.kweather.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0102 install(FILES org.kde.kweather.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps/) 0103 0104 # DBus 0105 configure_file(org.kde.kweather.service.in 0106 ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kweather.service) 0107 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kweather.service 0108 DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}) 0109 0110 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) 0111 0112 file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.h *.qml) 0113 ecm_check_outbound_license(LICENSES GPL-2.0-only GPL-3.0-only FILES ${ALL_SOURCE_FILES}) 0114 0115 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)