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} ) qt6_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} )