WaterLevelSensor/CMakeLists.txt
2026-04-01 18:37:49 +05:30

98 lines
2.5 KiB
CMake

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()