Warning, /utilities/kweather/src/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 
0008 set(kweather_SRCS
0009     main.cpp
0010     weatherlocationlistmodel.cpp
0011     weatherlocationlistmodel.h
0012     weatherlocation.cpp
0013     weatherlocation.h
0014     locationquerymodel.cpp
0015     locationquerymodel.h
0016     temperaturechartdata.cpp
0017     temperaturechartdata.h
0018     formatter.cpp
0019     formatter.h
0020 )
0021 
0022 if (NOT ANDROID)
0023     set(kweather_SRCS
0024         ${kweather_SRCS}
0025         weatherbackground.cpp
0026         weatherbackground.h
0027     )
0028 endif()
0029 
0030 add_library(kweatherLib STATIC)
0031 set_target_properties(kweatherLib PROPERTIES POSITION_INDEPENDENT_CODE ON)
0032 kconfig_add_kcfg_files(kweatherLib kweathersettings.kcfgc GENERATE_MOC)
0033 target_link_libraries(kweatherLib
0034     Qt::Core
0035     KF6::ConfigCore
0036     KF6::ConfigGui
0037 )
0038 
0039 add_executable(kweather ${kweather_SRCS})
0040 
0041 qt_add_qml_module(kweather
0042     URI "org.kde.kweather"
0043     VERSION 1.0
0044     QML_FILES
0045     "qml/Main.qml"
0046     "qml/FlatLocationForecast.qml"
0047     "qml/WeatherDayDelegate.qml"
0048     "qml/WeatherHourDelegate.qml"
0049     "qml/ForecastContainerPage.qml"
0050     "qml/DefaultPage.qml"
0051     "qml/SetupWizard.qml"
0052     "qml/AboutPage.qml"
0053     "qml/TemperatureChartCard.qml"
0054     "qml/SunriseCard.qml"
0055     "qml/InfoCard.qml"
0056     "qml/WeatherStrip.qml"
0057     "qml/DynamicForecastPage.qml"
0058     "qml/FlatForecastPage.qml"
0059     SOURCES
0060     weatherlocationlistmodel.cpp
0061     weatherlocationlistmodel.h
0062 )
0063 
0064 qt_add_qml_module(kweatherbackgrounds
0065     URI "org.kde.kweather.backgrounds"
0066     VERSION 1.0
0067     QML_FILES
0068     "qml/backgrounds/DynamicBackground.qml"
0069     "qml/backgrounds/ClearDay.qml"
0070     "qml/backgrounds/ClearNight.qml"
0071     "qml/backgrounds/CloudyDay.qml"
0072     "qml/backgrounds/CloudyNight.qml"
0073     "qml/backgrounds/Misty.qml"
0074     "qml/backgrounds/PartlyCloudyDay.qml"
0075     "qml/backgrounds/PartlyCloudyNight.qml"
0076     "qml/backgrounds/RainyDay.qml"
0077     "qml/backgrounds/RainyNight.qml"
0078     "qml/backgrounds/SnowyDay.qml"
0079     "qml/backgrounds/SnowyNight.qml"
0080     STATIC
0081 )
0082 
0083 qt_add_qml_module(kweatherbackgroundscomponents
0084     URI "org.kde.kweather.backgrounds.components"
0085     VERSION 1.0
0086     QML_FILES
0087     "qml/backgrounds/components/Sun.qml"
0088     "qml/backgrounds/components/Stars.qml"
0089     "qml/backgrounds/components/Snow.qml"
0090     "qml/backgrounds/components/Rain.qml"
0091     "qml/backgrounds/components/Cloud.qml"
0092     "qml/backgrounds/components/Cloudy.qml"
0093     STATIC
0094 )
0095 
0096 qt_add_qml_module(kweathercomponents
0097     URI "org.kde.kweather.components"
0098     VERSION 1.0
0099     QML_FILES
0100     "qml/components/ListDelegate.qml"
0101     STATIC
0102 )
0103 
0104 qt_add_qml_module(kweatherlocations
0105     URI "org.kde.kweather.locations"
0106     VERSION 1.0
0107     QML_FILES
0108     "qml/locationslist/LocationsListView.qml"
0109     "qml/locationslist/LocationsListPage.qml"
0110     "qml/locationslist/LocationsListDialog.qml"
0111     "qml/locationslist/AddLocationDialog.qml"
0112     "qml/locationslist/AddLocationListView.qml"
0113     "qml/locationslist/AddLocationPage.qml"
0114     STATIC
0115 )
0116 
0117 qt_add_qml_module(kweathersettings
0118     URI "org.kde.kweather.settings"
0119     VERSION 1.0
0120     QML_FILES
0121     "qml/settings/SettingsPage.qml"
0122     "qml/settings/SettingsComponent.qml"
0123     "qml/settings/SettingsDialog.qml"
0124     "qml/settings/SettingsWindow.qml"
0125     STATIC
0126 )
0127 
0128 target_link_libraries(kweather
0129     PUBLIC
0130     Qt6::Qml
0131     Qt6::QuickControls2
0132     Qt6::Network
0133     Qt6::Charts
0134     Qt6::OpenGL
0135     KF6::I18n
0136     KF6::CoreAddons
0137     KF6::Notifications
0138     KWeatherCore
0139     kweatherLib
0140     kweatherbackgroundsplugin
0141     kweatherbackgroundscomponentsplugin
0142     kweathercomponentsplugin
0143     kweatherlocationsplugin
0144     kweathersettingsplugin
0145 )
0146 
0147 add_subdirectory(resources)
0148 
0149 if (ANDROID)
0150     target_link_libraries(kweather
0151         PUBLIC
0152         OpenSSL::SSL
0153         Qt6::Svg
0154         Qt6::GuiPrivate
0155         Qt6::Qml
0156         Qt6::Quick
0157     )
0158 
0159     kirigami_package_breeze_icons(ICONS
0160         raindrop
0161         globe
0162         settings-configure
0163         network-disconnect
0164         search
0165         list-add
0166         delete
0167         arrow-right
0168         speedometer
0169         go-up
0170         go-down
0171         go-right
0172         compass
0173         mark-location
0174         find-location
0175 
0176         weather-clear
0177         weather-clear-night
0178         weather-clear-wind
0179         weather-clear-wind-night
0180         weather-clouds
0181         weather-clouds-night
0182         weather-clouds-wind
0183         weather-clouds-wind-night
0184         weather-few-clouds
0185         weather-few-clouds-night
0186         weather-few-clouds-wind
0187         weather-few-clouds-wind-night
0188         weather-fog
0189         weather-freezing-rain
0190         weather-hail
0191         weather-many-clouds
0192         weather-many-clouds-wind
0193         weather-mist
0194         weather-none-available
0195         weather-overcast
0196         weather-overcast-wind
0197         weather-showers
0198         weather-showers-day
0199         weather-showers-night
0200         weather-showers-scattered
0201         weather-showers-scattered-day
0202         weather-showers-scattered-night
0203         weather-snow
0204         weather-snow-rain
0205         weather-snow-scattered
0206         weather-snow-scattered-day
0207         weather-snow-scattered-night
0208         weather-storm
0209         weather-storm-day
0210         weather-storm-night
0211     )
0212 
0213     ecm_add_android_apk(kweather ANDROID_DIR ${CMAKE_SOURCE_DIR}/android)
0214 else()
0215     target_link_libraries(kweather PUBLIC Qt6::Widgets)
0216 endif()
0217 
0218 if (UNIX AND (NOT ANDROID))
0219 add_subdirectory(plasmoid)
0220 endif()
0221 target_include_directories(kweather PRIVATE ${CMAKE_BINARY_DIR})
0222 install(TARGETS kweather ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})