cmake_minimum_required(VERSION 3.14)
project(etms_cpp VERSION 1.0.0 LANGUAGES CXX)

# 启用 C++17 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# MSVC UTF-8 编译选项
if (MSVC)
    add_compile_options(/utf-8)
endif()

# 头文件目录
include_directories(${CMAKE_SOURCE_DIR}/include)

# ============================
# 主程序
# ============================
add_executable(etms_app
    src/main.cpp
    src/app.cpp
    src/event_manager.cpp
    src/task_template_manager.cpp
)

# ============================
# 单元测试（使用标准 assert，无需外部依赖）
# ============================
add_executable(etms_test
    tests/basic_test.cpp
    src/app.cpp
    src/event_manager.cpp
    src/task_template_manager.cpp
)

# 测试通过 CTest 驱动
enable_testing()
add_test(NAME BasicTest COMMAND etms_test)
