Files
DTU-HMI/CMakeLists.txt

68 lines
1.9 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 指定 CMake 最低版本要求
cmake_minimum_required(VERSION 3.10)
# 定义工程名(用于生成解决方案/项目名称)
project(DTU_HMI)
# 统一使用 C99 标准编译 C 代码
set(CMAKE_C_STANDARD 99)
# 导出 compile_commands.json供 Cursor/clangd/静态分析工具使用
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# MSVC 编译器下强制使用 UTF-8 源文件编码,避免中文注释/字符串乱码
# 同时关闭 C4819部分环境即使是 UTF-8 文件仍会误报代码页告警)
if(MSVC)
add_compile_options(/utf-8 /wd4819)
endif()
# 可选开关:启用 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/common/utf8.c
src/thread_utils.c
src/remoteDisplay.c
src/Drv/menu/app/menu.c
src/Drv/pages/page_manager.c
src/Drv/pages/global/global_state.c
src/Drv/pages/global/renderer_lcd.c
src/Drv/pages/menu/page.c
src/Drv/pages/menu/model.c
src/Drv/pages/menu/presenter.c
src/Drv/pages/menu/view.c
src/Drv/pages/AppInfo/page.c
src/Drv/pages/AppInfo/model.c
src/Drv/pages/AppInfo/presenter.c
src/Drv/pages/AppInfo/view.c
src/Drv/lcd/lcd.c
src/Drv/lcd/lcd_draw.c
src/Drv/lcd/lcd_text.c
src/Drv/key.c
src/Drv/lcd/ascii.c
src/TCP/tcp.c
)
# 可执行程序头文件搜索路径
target_include_directories(DTU-HMI PRIVATE include src src/TCP src/Drv/lcd src/common)
# 按平台链接系统库:
# - Windows 需要 Winsock2ws2_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)