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)