Implemented `EventWindow` for viewing events with pagination and table-based UI. Added database migration to remove `UNIQUE` constraint on `external_id` in `events`. Enhanced DAO methods for event retrieval, pagination, and transaction updates. Integrated OCR recognition in transaction scripts and streamlined event handling in services.
150 lines
4.9 KiB
CMake
150 lines
4.9 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(ARCDesktopProject LANGUAGES CXX)
|
|
|
|
#mkdir build
|
|
#cd build
|
|
#cmake .. -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_64" -DCMAKE_BUILD_TYPE=Release
|
|
#cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_64" -DCMAKE_BUILD_TYPE=Release
|
|
#cmake --build . --config Release
|
|
#"C:\Qt\6.9.0\msvc2022_64\bin\windeployqt.exe" .\Release\ARCDesktopProject.exe
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
add_compile_definitions(QT_MESSAGELOGCONTEXT)
|
|
|
|
if (WIN32)
|
|
# Укажи путь к Qt6
|
|
set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_arm64")
|
|
# set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_64")
|
|
# list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows")
|
|
#vcpkg install tesseract:arm64-windows
|
|
#set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows/share/tesseract")
|
|
|
|
#find_package(Tesseract CONFIG REQUIRED)
|
|
elseif (APPLE)
|
|
# Укажи путь к Qt6
|
|
set(CMAKE_PREFIX_PATH "/opt/homebrew/opt/qt")
|
|
include_directories("/opt/homebrew/include")
|
|
link_directories("/opt/homebrew/lib")
|
|
endif ()
|
|
|
|
find_package(Qt6 REQUIRED COMPONENTS
|
|
Network
|
|
Widgets
|
|
Sql
|
|
Xml
|
|
)
|
|
|
|
file(GLOB_RECURSE DB_SOURCES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/database/*.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/database/*.h"
|
|
)
|
|
|
|
file(GLOB_RECURSE VIEW_SOURCES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/views/*.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/views/*.h"
|
|
)
|
|
|
|
file(GLOB_RECURSE SERVICES_SOURCES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/services/*.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/services/*.h"
|
|
)
|
|
|
|
file(GLOB_RECURSE MODELS_SOURCES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/models/*.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/models/*.h"
|
|
)
|
|
|
|
file(GLOB_RECURSE ANDROID_SOURCES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/android/*.cpp"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/android/*.h"
|
|
)
|
|
|
|
if (WIN32)
|
|
add_executable(ARCDesktopProject WIN32
|
|
main.cpp
|
|
${VIEW_SOURCES}
|
|
${SERVICES_SOURCES}
|
|
${DB_SOURCES}
|
|
${MODELS_SOURCES}
|
|
${ANDROID_SOURCES}
|
|
views/bank/BankSettingsWindow.cpp
|
|
views/bank/BankSettingsWindow.h
|
|
)
|
|
elseif (APPLE)
|
|
add_executable(ARCDesktopProject
|
|
main.cpp
|
|
${VIEW_SOURCES}
|
|
${SERVICES_SOURCES}
|
|
${DB_SOURCES}
|
|
${MODELS_SOURCES}
|
|
${ANDROID_SOURCES}
|
|
views/bank/BankSettingsWindow.cpp
|
|
views/bank/BankSettingsWindow.h
|
|
)
|
|
endif ()
|
|
|
|
if (WIN32)
|
|
target_link_libraries(ARCDesktopProject
|
|
Qt6::Widgets
|
|
Qt6::Xml
|
|
Qt6::Sql
|
|
Qt6::Network
|
|
# Tesseract::libtesseract
|
|
)
|
|
|
|
# Копирование изображений в директорию сборки
|
|
# file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/database/app_data.db" DESTINATION "${CMAKE_BINARY_DIR}/database")
|
|
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/tutorials" DESTINATION "${CMAKE_BINARY_DIR}")
|
|
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/images" DESTINATION "${CMAKE_BINARY_DIR}")
|
|
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/rus.traineddata" DESTINATION "${CMAKE_BINARY_DIR}")
|
|
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/config.ini" DESTINATION "${CMAKE_BINARY_DIR}")
|
|
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/tools/adb/windows" DESTINATION "${CMAKE_BINARY_DIR}/tools/adb")
|
|
|
|
add_custom_command(TARGET ARCDesktopProject POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/database/app_data.db"
|
|
"$<TARGET_FILE_DIR:ARCDesktopProject>/database/app_data.db"
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/tutorials"
|
|
"$<TARGET_FILE_DIR:ARCDesktopProject>/tutorials"
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/images"
|
|
"$<TARGET_FILE_DIR:ARCDesktopProject>/images"
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/rus.traineddata"
|
|
"$<TARGET_FILE_DIR:ARCDesktopProject>/rus.traineddata"
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/config.ini"
|
|
"$<TARGET_FILE_DIR:ARCDesktopProject>/config.ini"
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/tools/adb/windows"
|
|
"$<TARGET_FILE_DIR:ARCDesktopProject>/tools/adb/windows"
|
|
)
|
|
|
|
elseif (APPLE)
|
|
target_link_libraries(ARCDesktopProject
|
|
Qt6::Widgets
|
|
Qt6::Sql
|
|
Qt6::Xml
|
|
Qt6::Network
|
|
tesseract
|
|
leptonica
|
|
)
|
|
endif ()
|
|
|
|
target_include_directories(ARCDesktopProject PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/views
|
|
${CMAKE_CURRENT_SOURCE_DIR}/database
|
|
${CMAKE_CURRENT_SOURCE_DIR}/services
|
|
${CMAKE_CURRENT_SOURCE_DIR}/models
|
|
${CMAKE_CURRENT_SOURCE_DIR}/android
|
|
) |