82 lines
2.7 KiB
CMake
82 lines
2.7 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(WeatherRoutes VERSION 0.1 LANGUAGES CXX)
|
|
|
|
# Define versioning information
|
|
set(VERSION_CODE 1) # Change this to your desired version code
|
|
set(VERSION_NAME "0.1") # Your version name
|
|
|
|
# Include this in the Android section
|
|
set(ANDROID_PACKAGE_NAME "com.example.weatherroutes")
|
|
set(ANDROID_VERSION_CODE ${VERSION_CODE})
|
|
set(ANDROID_VERSION_NAME ${VERSION_NAME})
|
|
|
|
set(CMAKE_ANDROID_MANIFEST "${CMAKE_CURRENT_SOURCE_DIR}/android/AndroidManifest.xml")
|
|
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(RESOURCE_FILES resources.qrc)
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS Quick)
|
|
find_package(Qt6 REQUIRED COMPONENTS Core)
|
|
find_package(Qt6 REQUIRED COMPONENTS Location)
|
|
find_package(Qt6 REQUIRED COMPONENTS Positioning)
|
|
find_package(Qt6 REQUIRED COMPONENTS Network)
|
|
|
|
qt_add_resources(RESOURCES_RCC "${RESOURCE_FILES}")
|
|
|
|
qt_add_executable(appWeatherRoutes
|
|
main.cpp
|
|
${RESOURCES_RCC}
|
|
)
|
|
|
|
qt_add_qml_module(appWeatherRoutes
|
|
URI WeatherRoutes
|
|
VERSION 1.0
|
|
QML_FILES
|
|
Main.qml
|
|
SOURCES
|
|
QML_FILES
|
|
QML_FILES qml/WaypointData.qml
|
|
QML_FILES qml/WeatherDetailsView.qml
|
|
QML_FILES qml/CustomInputField.qml
|
|
QML_FILES qml/MapView.qml
|
|
QML_FILES
|
|
QML_FILES qml/HomeScreen.qml
|
|
SOURCES mvc/data/waypoint.h mvc/data/waypoint.cpp
|
|
SOURCES mvc/data/mapdata.cpp mvc/data/mapdata.h
|
|
SOURCES mvc/model/mapdatamodel.h mvc/model/mapdatamodel.cpp
|
|
SOURCES mvc/data/weatherdetailsdata.h mvc/data/weatherdetailsdata.cpp
|
|
SOURCES mvc/enums/weatherstatus.h
|
|
SOURCES mvc/data/weatherdata.h mvc/data/weatherdata.cpp
|
|
SOURCES mvc/controller/weathercontroller.h mvc/controller/weathercontroller.cpp
|
|
SOURCES mvc/controller/networkmanager.h mvc/controller/networkmanager.cpp
|
|
SOURCES mvc/controller/stylecontroller.h mvc/controller/stylecontroller.cpp
|
|
)
|
|
|
|
target_include_directories(appWeatherRoutes
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/mvc
|
|
)
|
|
|
|
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
|
|
# If you are developing for iOS or macOS you should consider setting an
|
|
# explicit, fixed bundle identifier manually though.
|
|
set_target_properties(appWeatherRoutes PROPERTIES
|
|
# MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appWeatherRoutes
|
|
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
|
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
|
MACOSX_BUNDLE TRUE
|
|
WIN32_EXECUTABLE TRUE
|
|
)
|
|
target_link_libraries(appWeatherRoutes PRIVATE Qt6::Quick Qt6::Location Qt6::Positioning)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
include(GNUInstallDirs)
|
|
install(TARGETS appWeatherRoutes
|
|
BUNDLE DESTINATION .
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|