idf_component_register( SRC_DIRS "." "utilities/letter_shell/src" "utilities/letter_shell/port/esp-idf" "utilities/usb_cherry/addition/" "utilities/usb_cherry/esp_setup" "utilities/usb_cherry/CherryUSB/class/cdc/" "utilities/usb_cherry/CherryUSB/class/msc/" "utilities/usb_cherry/CherryUSB/core/" "utilities/usb_cherry/CherryUSB/port/dwc2/" "utilities/imp_util_ring_queue/" "utilities/imp_util_tlv_trans_protocol/" "utilities/imp_types/" "APP/main_app/" "components/msq_queue" "components/imp_out_port" "services/ext_trans_service" "utilities/u8g2/src" "utilities/u8g2/port" "services/display_service" EXCLUDE_SRCS "utilities/usb_cherry/CherryUSB/class/cdc/usbh_cdc_acm.c" "utilities/usb_cherry/CherryUSB/class/msc/usbh_msc.c" "utilities/usb_cherry/CherryUSB/core/usbh_core.c" "utilities/usb_cherry/CherryUSB/port/dwc2/usb_hc_dwc2.c" "utilities/imp_util_ring_queue/ring_queue_test.c" "utilities/imp_util_tlv_trans_protocol/imp_tlv_tp_test.c" INCLUDE_DIRS "." "utilities/letter_shell/src" "utilities/letter_shell/port/esp-idf" "utilities/usb_cherry/esp_setup" "utilities/usb_cherry/CherryUSB/class/cdc" "utilities/usb_cherry/CherryUSB/class/msc" # "utilities/usb_cherry/CherryUSB/class/audio" "utilities/usb_cherry/CherryUSB/common" "utilities/usb_cherry/CherryUSB/core" "utilities/usb_cherry/CherryUSB/port/dwc2" "utilities/imp_util_ring_queue/" "APP/main_app/" "utilities/imp_types/" "components/msq_queue" "components/imp_out_port" "services/ext_trans_service" "utilities/imp_util_tlv_trans_protocol/" "utilities/u8g2/src" "utilities/u8g2/port" "services/display_service" LDFRAGMENTS "utilities/letter_shell/port/esp-idf/shell.lf" ) # 添加源文件 set(SOURCE_FILE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/main.c ${CMAKE_CURRENT_SOURCE_DIR}/services/display_service/display_service.c ${CMAKE_CURRENT_SOURCE_DIR}/utilities/letter_shell/src/shell.c ) add_custom_target(ForceCompile COMMAND ${CMAKE_COMMAND} -E echo "Forcing compilation of \"${SOURCE_FILE_PATH}\"" COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${SOURCE_FILE_PATH} ) target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format") # 将可执行目标与自定义目标关联,以确保在每次构建时,ForceCompile 目标都会被执行 add_dependencies(${COMPONENT_LIB} ForceCompile)