Initial commit
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Set the database name
|
||||
set(DATABASE_NAME "database.db")
|
||||
|
||||
# Set the database driver
|
||||
set(DATABASE_DRIVER "QSQLITE")
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -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})
|
||||
Reference in New Issue
Block a user