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)