2026-05-20 08:00:11 +00:00
|
|
|
|
cmake_minimum_required(VERSION 3.14)
|
2026-05-21 07:09:58 +00:00
|
|
|
|
project(etms_cpp VERSION 1.0.0 LANGUAGES CXX)
|
2026-05-20 08:00:11 +00:00
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
# 启用 C++17 标准
|
2026-05-20 08:00:11 +00:00
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
# MSVC UTF-8 编译选项
|
2026-05-20 08:00:11 +00:00
|
|
|
|
if (MSVC)
|
|
|
|
|
|
add_compile_options(/utf-8)
|
|
|
|
|
|
endif()
|
|
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
# 头文件目录
|
|
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/include)
|
|
|
|
|
|
|
|
|
|
|
|
# ============================
|
|
|
|
|
|
# 主程序
|
|
|
|
|
|
# ============================
|
|
|
|
|
|
add_executable(etms_app
|
2026-05-20 09:17:29 +00:00
|
|
|
|
src/main.cpp
|
|
|
|
|
|
src/app.cpp
|
2026-05-21 07:09:58 +00:00
|
|
|
|
src/event_manager.cpp
|
|
|
|
|
|
src/task_template_manager.cpp
|
2026-05-20 08:00:11 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
2026-05-21 07:09:58 +00:00
|
|
|
|
# ============================
|
|
|
|
|
|
# 单元测试(使用标准 assert,无需外部依赖)
|
|
|
|
|
|
# ============================
|
2026-05-20 09:17:29 +00:00
|
|
|
|
add_executable(etms_test
|
|
|
|
|
|
tests/basic_test.cpp
|
|
|
|
|
|
src/app.cpp
|
2026-05-21 07:09:58 +00:00
|
|
|
|
src/event_manager.cpp
|
|
|
|
|
|
src/task_template_manager.cpp
|
2026-05-20 08:00:11 +00:00
|
|
|
|
)
|
2026-05-21 07:09:58 +00:00
|
|
|
|
|
|
|
|
|
|
# 测试通过 CTest 驱动
|
|
|
|
|
|
enable_testing()
|
|
|
|
|
|
add_test(NAME BasicTest COMMAND etms_test)
|