-
Burak Hançerli authoredBurak Hançerli authored
CMakeLists.txt 2.63 KiB
find_package(
Qt6
COMPONENTS Core Widgets Quick Gui Qml Multimedia MultimediaWidgets Concurrent Network WebSockets
REQUIRED
)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Network WebSockets)
qt_add_executable(${PROJECT_NAME}
backend/importdummy.qml
backend/main.cpp
backend/logger.h
backend/backend.cpp backend/backend.h
backend/projectmanager.cpp backend/projectmanager.h
backend/settings.cpp backend/settings.h
backend/dsconnector/ds.cpp backend/dsconnector/ds.h
backend/dsconnector/dsmanager.cpp backend/dsconnector/dsmanager.h
backend/qrscanner.cpp backend/qrscanner.h
../3rdparty/zxing-cpp/example/ZXingQtReader.h
)
set_source_files_properties(Constants.qml PROPERTIES
QT_QML_SINGLETON_TYPE TRUE
)
qt_add_qml_module(${PROJECT_NAME}
URI AndroidUI
VERSION 1.0
QML_FILES
Constants.qml
HomePage.qml
Main.qml
NavigationBar.qml
NavigationButton.qml
QrButton.qml
SettingsItem.qml
SettingsPage.qml
SwitchSettingsItem.qml
)
qt_target_qml_sources(${PROJECT_NAME}
PREFIX
"/"
RESOURCES
fonts/QtOneIconFont.ttf
images/appicon.svg
)
target_link_libraries(${PROJECT_NAME} PRIVATE
Qt6::Core Qt6::Widgets
Qt6::Quick Qt6::Gui
Qt6::Qml Qt6::GuiPrivate
Qt6::Multimedia Qt6::MultimediaWidgets
Qt6::Concurrent Qt6::Network Qt6::WebSockets
ZXing::ZXing
)
qt_add_library(qtuiviewerlib OBJECT
EXCLUDE_FROM_ALL
backend/projectmanager.cpp backend/projectmanager.h
backend/settings.cpp backend/settings.h
backend/dsconnector/ds.cpp backend/dsconnector/ds.h
backend/dsconnector/dsmanager.cpp backend/dsconnector/dsmanager.h
)
target_link_libraries(qtuiviewerlib PRIVATE
Qt6::Core
Qt6::Quick
Qt6::Qml
Qt6::Gui
Qt6::GuiPrivate
Qt6::WebSockets
)
target_include_directories(qtuiviewerlib PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
set_target_properties(${PROJECT_NAME} PROPERTIES QT_ANDROID_PACKAGE_NAME "io.qt.qtdesignviewer")
set_property(TARGET ${PROJECT_NAME}
APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android
)
set_property(TARGET ${PROJECT_NAME}
APPEND PROPERTY QT_ANDROID_EXTRA_LIBS
${ANDROID_OPENSSL_PATH}/libcrypto_3.so
${ANDROID_OPENSSL_PATH}/libssl_3.so
)
# this needs to be increased with every new release
set(GOOGLE_PLAY_APP_VERSION 31)
# CMAKE_VAR_GIT_VERSION (coming from the top-level CMakeLists.txt) and GOOGLE_PLAY_APP_VERSION replaced in the following file
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/AndroidManifest.xml.in ${CMAKE_CURRENT_SOURCE_DIR}/android/AndroidManifest.xml)