Files
cinema-ticket-management-sy…/cmake/paths/GroupFilesByLocation.cmake
T
2026-07-12 14:34:52 +04:00

273 lines
7.0 KiB
CMake

if(NOT PATHS_INCLUDED)
message(FATAL_ERROR "PathsAndIncludes.cmake must be included before GroupFilesByLocation.cmake")
endif()
set(FILES_GROUPED TRUE)
# NOTE: TRANSLATIONS
set(TRANSLATIONS
${TRANSLATIONS_DIR}/app_ru.ts
)
# NOTE: UI/DELEGATES
# Delegate source files
set(DELEGATE_SOURCES
${UI_DELEGATES_DIR}/date_time_delegate.cpp
)
# Delegate header files
set(DELEGATE_HEADERS
${UI_DELEGATES_DIR}/date_time_delegate.h
)
# NOTE: UI/DIALOGS
# Dialog source files
set(DIALOG_SOURCES
${UI_DIALOGS_DIR}/auth_dialog.cpp
${UI_DIALOGS_DIR}/error_dialog.cpp
${UI_DIALOGS_DIR}/search_dialog.cpp
)
# Dialog header files
set(DIALOG_HEADERS
${UI_DIALOGS_DIR}/auth_dialog.h
${UI_DIALOGS_DIR}/error_dialog.h
${UI_DIALOGS_DIR}/search_dialog.h
)
# Dialog UI files
set(DIALOG_UI_FILES
${UI_DIALOGS_DIR}/auth_dialog.ui
${UI_DIALOGS_DIR}/search_dialog.ui
)
# NOTE: UI/MAIN_WINDOW
# Main window source files
set(MAIN_WINDOW_SOURCES
${UI_MAIN_WINDOW_DIR}/main_window.cpp
)
# Main window header files
set(MAIN_WINDOW_HEADERS
${UI_MAIN_WINDOW_DIR}/main_window.h
)
# Main window UI files
set(MAIN_WINDOW_UI_FILES
${UI_MAIN_WINDOW_DIR}/main_window.ui
)
# NOTE: UI/MODELS
# Models source files
set(MODELS_SOURCES
${UI_MODELS_DIR}/base_sql_table_model.cpp
${UI_MODELS_DIR}/genres_model.cpp
${UI_MODELS_DIR}/halls_model.cpp
${UI_MODELS_DIR}/movies_model.cpp
${UI_MODELS_DIR}/multi_column_filter_proxy_model.cpp
${UI_MODELS_DIR}/refunds_model.cpp
${UI_MODELS_DIR}/sessions_model.cpp
${UI_MODELS_DIR}/tickets_model.cpp
)
# Models header files
set(MODELS_HEADERS
${UI_MODELS_DIR}/base_sql_table_model.h
${UI_MODELS_DIR}/genres_model.h
${UI_MODELS_DIR}/halls_model.h
${UI_MODELS_DIR}/movies_model.h
${UI_MODELS_DIR}/multi_column_filter_proxy_model.h
${UI_MODELS_DIR}/refunds_model.h
${UI_MODELS_DIR}/sessions_model.h
${UI_MODELS_DIR}/tickets_model.h
)
# NOTE: UI/WIDGETS
# Widgets source files
set(WIDGETS_SOURCES
${UI_WIDGETS_DIR}/directories_management_widget.cpp
${UI_WIDGETS_DIR}/entity_deleter_widget.cpp
${UI_WIDGETS_DIR}/entity_finder_widget.cpp
${UI_WIDGETS_DIR}/entity_updater_widget.cpp
${UI_WIDGETS_DIR}/reports_widget.cpp
${UI_WIDGETS_DIR}/session_management_widget.cpp
${UI_WIDGETS_DIR}/single_record_time_range_widget.cpp
${UI_WIDGETS_DIR}/ticket_return_widget.cpp
${UI_WIDGETS_DIR}/ticket_sale_widget.cpp
${UI_WIDGETS_DIR}/ticket_sales_report_widget.cpp
)
# Widgets header files
set(WIDGETS_HEADERS
${UI_WIDGETS_DIR}/directories_management_widget.h
${UI_WIDGETS_DIR}/entity_deleter_widget.h
${UI_WIDGETS_DIR}/entity_finder_widget.h
${UI_WIDGETS_DIR}/entity_updater_widget.h
${UI_WIDGETS_DIR}/reports_widget.h
${UI_WIDGETS_DIR}/session_management_widget.h
${UI_WIDGETS_DIR}/single_record_time_range_widget.h
${UI_WIDGETS_DIR}/ticket_return_widget.h
${UI_WIDGETS_DIR}/ticket_sale_widget.h
${UI_WIDGETS_DIR}/ticket_sales_report_widget.h
)
# Widgets UI files
set(WIDGETS_UI_FILES
${UI_MODELS_DIR}/entity_finder_widget.ui
${UI_WIDGETS_DIR}/directories_management_widget.ui
${UI_WIDGETS_DIR}/entity_deleter_widget.ui
${UI_WIDGETS_DIR}/entity_updater_widget.ui
${UI_WIDGETS_DIR}/reports_widget.ui
${UI_WIDGETS_DIR}/session_management_widget.ui
${UI_WIDGETS_DIR}/single_record_time_range_widget.ui
${UI_WIDGETS_DIR}/ticket_return_widget.ui
${UI_WIDGETS_DIR}/ticket_sale_widget.ui
${UI_WIDGETS_DIR}/ticket_sales_report_widget.ui
)
# NOTE: CORE/DB
# DB source files
set(DB_SOURCES
${CORE_DB_DIR}/database_manager.cpp
${CORE_DB_DIR}/execute_sql_file.cpp
)
# DB header files
set(DB_HEADERS
${CORE_DB_DIR}/database_manager.h
${CORE_DB_DIR}/execute_sql_file.h
)
# NOTE: CORE/REPOSITORIES
set(REPOSITORIES_SOURCES
${CORE_REPOSITORIES_DIR}/repository_result.cpp
)
set(REPOSITORIES_HEADERS
${CORE_REPOSITORIES_DIR}/repository_result.h
)
# NOTE: CORE/SERVICES
# Services source files
set(SERVICES_SOURCES
${CORE_SERVICES_DIR}/base_generator.cpp
${CORE_SERVICES_DIR}/date_time_generator.cpp
${CORE_SERVICES_DIR}/model_manager.cpp
${CORE_SERVICES_DIR}/refund_generator.cpp
${CORE_SERVICES_DIR}/relation_id_config.cpp
${CORE_SERVICES_DIR}/repository_manager.cpp
${CORE_SERVICES_DIR}/schema_metadata.cpp
${CORE_SERVICES_DIR}/session_generator.cpp
${CORE_SERVICES_DIR}/ticket_generator.cpp
)
# Services header files
set(SERVICES_HEADERS
${CORE_SERVICES_DIR}/base_generator.h
${CORE_SERVICES_DIR}/date_time_generator.h
${CORE_SERVICES_DIR}/model_manager.h
${CORE_SERVICES_DIR}/refund_generator.h
${CORE_SERVICES_DIR}/relation_id_config.h
${CORE_SERVICES_DIR}/repository_manager.h
${CORE_SERVICES_DIR}/schema_metadata.h
${CORE_SERVICES_DIR}/session_generator.h
${CORE_SERVICES_DIR}/ticket_generator.h
)
# NOTE: CORE/SQL
# SQL script files
set(SQL_FILES
${CORE_SQL_DIR}/cinema_db_create_table.sql
${CORE_SQL_DIR}/cinema_db_create_trigger.sql
${CORE_SQL_DIR}/cinema_db_drop_table.sql
${CORE_SQL_DIR}/cinema_db_drop_trigger.sql
${CORE_SQL_DIR}/cinema_db_foreign_key_off.sql
${CORE_SQL_DIR}/cinema_db_foreign_key_on.sql
${CORE_SQL_DIR}/cinema_db_insert.sql
)
# NOTE: CORE/UTILS
# Utils source files
set(UTILS_SOURCES
${CORE_UTILS_DIR}/day_manager.cpp
${CORE_UTILS_DIR}/reservation_manager.cpp
)
set(UTILS_HEADERS
${CORE_UTILS_DIR}/day_manager.h
${CORE_UTILS_DIR}/reservation_manager.h
)
# NOTE: CORE/CONTROLLERS
# Controllers source files
set(CONTROLLERS_SOURCES
${CORE_CONTROLLERS_DIR}/application_controller.cpp
${CORE_CONTROLLERS_DIR}/application_connector.cpp
)
# Controllers header files
set(CONTROLLERS_HEADERS
${CORE_CONTROLLERS_DIR}/application_controller.h
${CORE_CONTROLLERS_DIR}/application_connector.h
)
# NOTE: DATA/SQL
# Implementation repository source files
set(SQL_SOURCES
${DATA_SQL_DIR}/base_sql_table_repository.cpp
${DATA_SQL_DIR}/genres_repository.cpp
${DATA_SQL_DIR}/halls_repository.cpp
${DATA_SQL_DIR}/movies_repository.cpp
${DATA_SQL_DIR}/refunds_repository.cpp
${DATA_SQL_DIR}/roles_repository.cpp
${DATA_SQL_DIR}/sessions_statistics_repository.cpp
${DATA_SQL_DIR}/sessions_repository.cpp
${DATA_SQL_DIR}/table_info_sqlite.cpp
${DATA_SQL_DIR}/tickets_repository.cpp
${DATA_SQL_DIR}/users_repository.cpp
)
# Implementation repository header files
set(SQL_HEADERS
${DATA_SQL_DIR}/base_sql_table_repository.cpp
${DATA_SQL_DIR}/data_repository_signals.h
${DATA_SQL_DIR}/genres_repository.h
${DATA_SQL_DIR}/halls_repository.h
${DATA_SQL_DIR}/movies_repository.h
${DATA_SQL_DIR}/refunds_repository.h
${DATA_SQL_DIR}/roles_repository.h
${DATA_SQL_DIR}/sessions_statistics_repository.h
${DATA_SQL_DIR}/sessions_repository.h
${DATA_SQL_DIR}/table_info_sqlite.cpp
${DATA_SQL_DIR}/tickets_repository.h
${DATA_SQL_DIR}/users_repository.h
)
# NOTE: SRC
# Source files
set(SRC_SOURCES
${SRC_DIR}/main.cpp
)
# NOTE: RESOURCES
# Resource file
set(RESOURCES_FILES
${CMAKE_SOURCE_DIR}/resources.qrc
)