Revision control
Copy as Markdown
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
cmake_minimum_required(VERSION 3.16)
project(weatherinfo LANGUAGES CXX)
if(NOT DEFINED INSTALL_EXAMPLESDIR)
set(INSTALL_EXAMPLESDIR "examples")
endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/positioning/weatherinfo")
find_package(Qt6 REQUIRED COMPONENTS Core Gui Network Positioning Qml Quick)
qt_standard_project_setup(REQUIRES 6.5)
qt_add_executable(weatherinfo
main.cpp
)
set_target_properties(weatherinfo PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
MACOSX_BUNDLE_GUI_IDENTIFIER "io.qt.examples.weatherinfo"
)
target_link_libraries(weatherinfo PRIVATE
Qt::Core
Qt::Gui
Qt::Network
Qt::Positioning
Qt::Qml
Qt::Quick
)
if (APPLE)
if (IOS)
set_target_properties(weatherinfo PROPERTIES
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.cmake.ios.plist"
)
else()
set_target_properties(weatherinfo PROPERTIES
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.cmake.macos.plist"
)
endif()
endif()
qt_add_qml_module(weatherinfo
URI Weather
VERSION 1.0
SOURCES
appmodel.cpp appmodel.h
openmeteobackend.cpp openmeteobackend.h
openweathermapbackend.cpp openweathermapbackend.h
providerbackend.cpp providerbackend.h
weatherapibackend.cpp weatherapibackend.h
QML_FILES
BigForecastIcon.qml
ForecastIcon.qml
WeatherIcon.qml
WeatherInfo.qml
RESOURCES
icons/weather-few-clouds.svg
icons/weather-fog.svg
icons/weather-haze.svg
icons/weather-icy.svg
icons/weather-overcast.svg
icons/weather-showers.svg
icons/weather-sleet.svg
icons/weather-snow.svg
icons/weather-storm.svg
icons/weather-sunny-very-few-clouds.svg
icons/weather-sunny.svg
icons/weather-thundershower.svg
icons/weather-showers-scattered.svg
icons/waypoint.svg
)
install(TARGETS weatherinfo
RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)
if(APPLE AND NOT CMAKE_GENERATOR STREQUAL "Xcode")
# Need to sign application for location permissions to work
add_custom_command(TARGET weatherinfo
POST_BUILD COMMAND codesign -s - weatherinfo.app)
endif()