重构代码的架构设计,增加测试单元,提高代码可靠性
This commit is contained in:
@@ -1,38 +1,56 @@
|
||||
# 指定 CMake 最低版本要求
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
# 定义工程名(用于生成解决方案/项目名称)
|
||||
project(DTU_HMI)
|
||||
|
||||
# 统一使用 C99 标准编译 C 代码
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
|
||||
# 导出编译数据库,供 Cursor/clangd 使用
|
||||
# 导出 compile_commands.json,供 Cursor/clangd/静态分析工具使用
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# MSVC 编译器下强制使用 UTF-8 源文件编码,避免中文注释/字符串乱码
|
||||
# 同时关闭 C4819(部分环境即使是 UTF-8 文件仍会误报代码页告警)
|
||||
if(MSVC)
|
||||
add_compile_options(/utf-8)
|
||||
add_compile_options(/utf-8 /wd4819)
|
||||
endif()
|
||||
|
||||
# 可选:启用 DEBUG 宏,用于条件编译输出调试信息(cmake -DENABLE_DEBUG=ON ..)
|
||||
# 可选开关:启用 DEBUG 宏,用于条件编译调试日志
|
||||
# 用法:cmake -DENABLE_DEBUG=ON ..
|
||||
option(ENABLE_DEBUG "Enable debug printf output" OFF)
|
||||
if(ENABLE_DEBUG)
|
||||
add_compile_definitions(DEBUG)
|
||||
endif()
|
||||
|
||||
# 主可执行程序 DTU-HMI 及其源码列表
|
||||
add_executable(DTU-HMI
|
||||
src/main.c
|
||||
src/thread_utils.c
|
||||
src/remoteDisplay.c
|
||||
src/Drv/menu.c
|
||||
src/Drv/lcd.c
|
||||
src/Drv/lcd/lcd.c
|
||||
src/Drv/lcd/lcd_draw.c
|
||||
src/Drv/lcd/lcd_text.c
|
||||
src/Drv/key.c
|
||||
src/Drv/Ascii.c
|
||||
src/Drv/lcd/ascii.c
|
||||
src/Drv/display.c
|
||||
src/TCP/tcp.c
|
||||
)
|
||||
|
||||
# 可执行程序头文件搜索路径
|
||||
target_include_directories(DTU-HMI PRIVATE include src src/TCP)
|
||||
|
||||
# 按平台链接系统库:
|
||||
# - Windows 需要 Winsock2(ws2_32)
|
||||
# - Linux/macOS 使用 pthread
|
||||
if(WIN32)
|
||||
target_link_libraries(DTU-HMI PRIVATE ws2_32)
|
||||
else()
|
||||
target_link_libraries(DTU-HMI PRIVATE pthread)
|
||||
endif()
|
||||
|
||||
# 开启 CTest 测试支持,并加载 tests 子目录中的测试目标
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user