Implemented `GetCardInfoScript`, `GetProfileInfoScript`, and `GetLastTransactionsScript` to automate data extraction workflows for Ozon platform. Includes support for XML parsing, ad banner handling, card navigation, profile parsing, and transaction retrieval. Added related asset files.
147 lines
4.9 KiB
CMake
147 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")
|
|
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
|
|
)
|
|
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
|
|
) |