cmake_minimum_required(VERSION 3.16) project(waterLevelSensor VERSION 0.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTORCC ON) find_package(Qt6 REQUIRED COMPONENTS Quick Network) qt_standard_project_setup(REQUIRES 6.9) qt_add_executable(appwaterLevelSensor main.cpp images.qrc ) if(ANDROID) qt_add_library(service SHARED servicemain.cpp service.h service.cpp ) set_property(TARGET appwaterLevelSensor APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android) set_property(TARGET service APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android) target_link_libraries(service PRIVATE Qt::Core Qt::CorePrivate Qt::Network Qt::Quick ) qt_add_qml_module(appwaterLevelSensor URI waterLevelSensor QML_FILES Main.qml RESOURCES RESOURCES images.qrc SOURCES moving_container.h SOURCES configinterface.h configinterface.cpp SOURCES udplistener.h udplistener.cpp SOURCES service.h RESOURCES README.md ) target_link_libraries(appwaterLevelSensor PRIVATE Qt6::Quick Qt6::Network service ) qt_finalize_executable(appwaterLevelSensor) add_dependencies(appwaterLevelSensor service) qt_generate_deploy_app_script( TARGET appwaterLevelSensor OUTPUT_SCRIPT deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script}) endif() if(NOT ANDROID) qt_add_qml_module(appwaterLevelSensor URI waterLevelSensor QML_FILES Main.qml RESOURCES RESOURCES images.qrc SOURCES udplistener.h udplistener.cpp SOURCES moving_container.h SOURCES configinterface.h configinterface.cpp ) # 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 manu ally though. set_target_properties(appwaterLevelSensor PROPERTIES # MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appwaterLevelSensor 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(appwaterLevelSensor PRIVATE Qt6::Quick Qt6::Network ) qt_finalize_executable(appwaterLevelSensor) include(GNUInstallDirs) install(TARGETS appwaterLevelSensor BUNDLE DESTINATION . LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) endif()