cmake_minimum_required(VERSION 3.10)
project(SEGGER_RTT)

# 添加库文件
add_library(SEGGER_RTT STATIC
    RTT/SEGGER_RTT.c
    RTT/SEGGER_RTT_printf.c
    Syscalls/SEGGER_RTT_Syscalls_GCC.c
    log.c
    # Syscalls/SEGGER_RTT_Syscalls_IAR.c
    # Syscalls/SEGGER_RTT_Syscalls_KEIL.c
    # Syscalls/SEGGER_RTT_Syscalls_SES.c
)

# 添加汇编文件（如果需要）
enable_language(ASM)
set_property(SOURCE RTT/SEGGER_RTT_ASM_ARMv7M.S PROPERTY LANGUAGE ASM)

# 包含目录
target_include_directories(SEGGER_RTT PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/RTT
    ${CMAKE_CURRENT_SOURCE_DIR}/Config
    ${CMAKE_CURRENT_SOURCE_DIR}
)

# 设置库属性
set_target_properties(SEGGER_RTT PROPERTIES LINKER_LANGUAGE C)

# 示例可执行文件
# add_executable(RTT_SpeedTest Examples/Main_RTT_SpeedTestApp.c)
# target_link_libraries(RTT_SpeedTest SEGGER_RTT)

# add_executable(RTT_PrintfTest Examples/Main_RTT_PrintfTest.c)
# target_link_libraries(RTT_PrintfTest SEGGER_RTT)

# add_executable(RTT_MenuApp Examples/Main_RTT_MenuApp.c)
# target_link_libraries(RTT_MenuApp SEGGER_RTT)

# add_executable(RTT_InputEchoApp Examples/Main_RTT_InputEchoApp.c)
# target_link_libraries(RTT_InputEchoApp SEGGER_RTT)

# 添加 README 和 LICENSE 文件到目标
# install(FILES README.md LICENSE.md DESTINATION share/SEGGER_RTT)
