Initial commit

This commit is contained in:
user
2026-07-12 14:34:52 +04:00
commit 3abf6bd9c2
557 changed files with 68706 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
# Enable additional Qt features
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
# Specify the C++ standard
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# add_compile_options(-std=c++20)
# Get the Qt environment variables
set(QT_UIC_EXECUTABLE "$ENV{QT_UIC_EXECUTABLE}")
set(QT_MOC_EXECUTABLE "$ENV{QT_MOC_EXECUTABLE}")
# Enable CMake to generate compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+6
View File
@@ -0,0 +1,6 @@
# Set the database name
set(DATABASE_NAME "database.db")
# Set the database driver
set(DATABASE_DRIVER "QSQLITE")
+19
View File
@@ -0,0 +1,19 @@
print_important_message("Additional information")
message(STATUS "C++ Standard: ${CMAKE_CXX_STANDARD}")
# Add the main executable
add_executable(${PROJECT_NAME}
${HEADERS}
${RESOURCES}
${SOURCES}
${UI_HEADERS}
)
# Link with Qt libraries
target_link_libraries(${PROJECT_NAME}
Qt6::Charts
Qt6::Core
Qt6::Gui
Qt6::Sql
Qt6::Widgets
)
+33
View File
@@ -0,0 +1,33 @@
# Update translations
find_program(LUPDATE_EXECUTABLE lupdate REQUIRED)
if(NOT LUPDATE_EXECUTABLE)
message(WARNING "The 'lupdate' program was not found. Translation update will be skipped.")
return()
endif()
add_custom_target(update_translations ALL
COMMAND ${LUPDATE_EXECUTABLE} ${CMAKE_SOURCE_DIR} -ts ${TRANSLATIONS}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Updating translation files"
)
# Compile translations
find_program(LRELEASE_EXECUTABLE lrelease REQUIRED)
if(NOT LRELEASE_EXECUTABLE)
message(WARNING "The 'lrelease' program was not found. Translation compilation will be skipped.")
return()
endif()
foreach(TRANSLATION ${TRANSLATIONS})
get_filename_component(QM_FILE ${TRANSLATION} NAME_WE)
set(QM_FILE ${CMAKE_BINARY_DIR}/translations/${QM_FILE}.qm)
add_custom_command(OUTPUT ${QM_FILE}
COMMAND ${LRELEASE_EXECUTABLE} ${TRANSLATION} -qm ${QM_FILE}
DEPENDS ${TRANSLATION}
COMMENT "Compiling ${QM_FILE}"
)
list(APPEND QM_FILES ${QM_FILE})
endforeach()
# Create translations target
add_custom_target(translations ALL DEPENDS ${QM_FILES})