dirty minimal working version

This commit is contained in:
leca 2025-03-08 12:42:43 +03:00
parent 7d42cbd111
commit 957ccc9946
2 changed files with 88 additions and 58 deletions

View File

@ -2,12 +2,16 @@ cmake_minimum_required(VERSION 3.10)
project(checks-parser VERSION 0.1 LANGUAGES CXX)
option(BUILD_TRANSLATIONS "Build translations?" ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC OFF)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC_SEARCH_PATHS Designer)
set(OPENCV_SKIP_VTK ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@ -17,84 +21,103 @@ find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
goods/goods.h goods/goods.cpp
check/check.h check/check.cpp
parser/parser.h parser/parser.cpp
parser/module.h parser/module.cpp
goods/goods.h goods/goods.cpp
check/check.h check/check.cpp
parser/parser.h parser/parser.cpp
parser/module.h parser/module.cpp
outputdialog.h outputdialog.cpp outputdialog.ui
output/output_options.h output/output_options.cpp
outputdialog.h outputdialog.cpp outputdialog.ui
output/output_options.h output/output_options.cpp
utils/utils.h utils/utils.cpp
image/checkimage.h image/checkimage.cpp
net/net.h net/net.cpp
settings/settings.h settings/settings.cpp
settingsdialog.h settingsdialog.cpp settingsdialog.ui
adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui
image_redactor/imageredactor.h image_redactor/imageredactor.cpp
solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui
exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp
utils/utils.h utils/utils.cpp
image/checkimage.h image/checkimage.cpp
net/net.h net/net.cpp
settings/settings.h settings/settings.cpp
settingsdialog.h settingsdialog.cpp settingsdialog.ui
adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui
image_redactor/imageredactor.h image_redactor/imageredactor.cpp
solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui
exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp
)
# Specify the UI files and source files for translation
set(TRANSLATION_SOURCES
main.cpp
mainwindow.cpp mainwindow.h mainwindow.ui
outputdialog.cpp outputdialog.h outputdialog.ui
settingsdialog.cpp settingsdialog.h settingsdialog.ui
solvecaptchadialog.cpp solvecaptchadialog.h solvecaptchadialog.ui
adjustpicturedialog.cpp adjustpicturedialog.h adjustpicturedialog.ui
main.cpp
mainwindow.cpp mainwindow.h mainwindow.ui
outputdialog.cpp outputdialog.h outputdialog.ui
settingsdialog.cpp settingsdialog.h settingsdialog.ui
solvecaptchadialog.cpp solvecaptchadialog.h solvecaptchadialog.ui
adjustpicturedialog.cpp adjustpicturedialog.h adjustpicturedialog.ui
)
# qt_add_resources(RESOURCES
# ${CMAKE_CURRENT_SOURCE_DIR}/translations.qrc
# )
qt5_add_translation(QM_FILES translations/en_US.ts translations/ru_RU.ts)
# qt5_add_resources(TRANSLATIONQRC translations.qrc OPTIONS --root ${CMAKE_CURRENT_BINARY_DIR})
# qt5_add_resources(TRANSLATIONQRC translations.qrc)
add_custom_target(translations
DEPENDS ${QM_FILES}
# DEPENDS ${RESOURCES}
VERBATIM
)
file(GLOB QM_FILES ${CMAKE_CURRENT_SOURCE_DIR}/translations/*.qm)
# QT5_CREATE_TRANSLATION(UPDATED_TS ${TRANSLATION_SOURCES})
qt_add_resources(translation_resources
${CMAKE_CURRENT_SOURCE_DIR}/translations.qrc
# add_custom_target(append_translations DEPENDS ${UPDATED_TS})
set(TS_FILES
translations/en_US.ts
translations/ru_RU.ts
)
foreach(QM_FILE ${QM_FILES})
file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/translations.qrc
" <file>${QM_FILE}</file>\n"
)
endforeach()
qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" ${TS_FILES})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/translations.qrc ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc COPYONLY)
qt5_add_resources(TRANSLATIONQRC ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc OPTIONS --verbose)
add_custom_target(translations ALL DEPENDS ${QM_FILES})
add_custom_target(resources ALL DEPENDS ${TRANSLATIONQRC})
add_dependencies(resources translations)
# qt5_add_translation(translations
# SOURCES ${CMAKE_SOURCE_DIR}/translations/en_US.ts
# SOURCES ${CMAKE_SOURCE_DIR}/translations/ru_RU.ts
# OPTIONS -recursive
# TARGET_PATH ${CMAKE_CURRENT_BINARY_DIR}
# TS_FILES ${CMAKE_SOURCE_DIR}/translations/en_US.ts ${CMAKE_SOURCE_DIR}/translations/ru_RU.ts
# )
# set_source_files_properties(${TRANSLATION_FILES} PROPERTIES OUTPUT_LOCATION "l10n")
# qt5_add_translation(QM_FILES ${TRANSLATION_FILES})
# message(STATUS ${QM_FILES})
# set(TRANSLATIONS_QRC ${CMAKE_SOURCE_DIR}/translations.qrc)
# # qt5_add_resources(translations_qrc
# # SOURCES ${TRANSLATIONS_QRC}
# # )
# add_custom_target(translations DEPENDS ${QM_FILES})
if(ANDROID)
add_library(checks-parser SHARED
${PROJECT_SOURCES}
)
else()
add_executable(checks-parser
${PROJECT_SOURCES}
${RESOURCES}
${TRANSLATIONQRC}
)
endif()
target_link_libraries(checks-parser PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
add_dependencies(checks-parser resources)
# if (BUILD_TRANSLATIONS)
# target_link_libraries(checks-parser translations)
# endif()
target_link_libraries(checks-parser PRIVATE Qt5::Widgets)
target_include_directories(checks-parser PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/image_redactor)
# 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 manually though.
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.checks-parser)
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER org.foxarmy.checks-parser)
set_target_properties(checks-parser PROPERTIES
${BUNDLE_ID_OPTION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
@ -110,16 +133,20 @@ install(TARGETS checks-parser
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
if(WIN32)
set(OpenCV_DIR /usr/local/lib/cmake/opencv4)
endif()
find_package(OpenCV 4 REQUIRED COMPONENTS core imgproc imgcodecs)
include_directories(${OpenCV_INCLUDE_DIRS})
if(WIN32)
#????
set(OpenCV_DIR /usr/local/lib/cmake/opencv4)
endif()
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs)
include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries(checks-parser PRIVATE -lzbar)
target_link_libraries(checks-parser PRIVATE -ltesseract)
target_link_libraries(checks-parser PRIVATE -lcurl)
target_link_libraries(checks-parser PRIVATE ${OpenCV_LIBS})
target_link_libraries(checks-parser PRIVATE ${OpenCV_LIBS} )
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8)
target_link_libraries(checks-parser PRIVATE -lstdc++fs)
target_link_libraries(checks-parser PRIVATE -lstdc++fs)
endif()

View File

@ -54,6 +54,9 @@ int main(int argc, char *argv[]) {
} else {
lang = QString::fromStdString("en_US");
}
std::cout << "Using locale: " << lang.toStdString() << std::endl;
translator.load(":/translation/" + lang + ".qm");
a.installTranslator(&translator);