39 lines
849 B
CMake
39 lines
849 B
CMake
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)
|