From d0500151abf156046c84c0a83b4da12f22c4da41 Mon Sep 17 00:00:00 2001 From: 7iwind <7wind@7iwind.cn> Date: Sun, 26 Jul 2026 23:37:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3CI=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index be5fab3..1aa530a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,28 +18,28 @@ if(DR_COMPILE_CHECK) find_program(ARM_GCC arm-none-eabi-gcc) if(ARM_GCC) message(STATUS "ARM GCC found: ${ARM_GCC}") - set(ARM_MATRIX - "cm3; -mcpu=cortex-m3 -mthumb -mfloat-abi=soft" - "cm4-soft; -mcpu=cortex-m4 -mthumb -mfloat-abi=soft" - "cm4-hard; -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard" - "cm7-soft; -mcpu=cortex-m7 -mthumb -mfloat-abi=soft" - "cm7-hard; -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard" + set(VARIANTS cm3 cm4-soft cm4-hard cm7-soft cm7-hard) + set(FLAG_LIST + "-mcpu=cortex-m3 -mthumb -mfloat-abi=soft" + "-mcpu=cortex-m4 -mthumb -mfloat-abi=soft" + "-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard" + "-mcpu=cortex-m7 -mthumb -mfloat-abi=soft" + "-mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard" ) - foreach(ENTRY ${ARM_MATRIX}) - string(REPLACE ";" "|" ENTRY "${ENTRY}") - string(REPLACE "|" ";" ITEM "${ENTRY}") - list(GET ITEM 0 VARIANT) - list(REMOVE_AT ITEM 0) - string(REPLACE ";" " " FLAGS "${ITEM}") - set(TARGET "check_${VARIANT}") - add_custom_target(${TARGET} - COMMAND ${ARM_GCC} ${FLAGS} + list(LENGTH VARIANTS VN) + math(EXPR VN "${VN} - 1") + foreach(I RANGE ${VN}) + list(GET VARIANTS ${I} V) + list(GET FLAG_LIST ${I} F) + set(TGT "check_${V}") + add_custom_target(${TGT} + COMMAND ${ARM_GCC} ${F} -c ${CMAKE_CURRENT_SOURCE_DIR}/datarouter.c -I${CMAKE_CURRENT_SOURCE_DIR} - -o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.o - COMMENT "Compile check: ${VARIANT} (${FLAGS})" + -o ${CMAKE_CURRENT_BINARY_DIR}/${TGT}.o + COMMENT "Compile check: ${V} (${F})" ) - message(STATUS " compile check: ${VARIANT} (make ${TARGET})") + message(STATUS " compile check: ${V} (make ${TGT})") endforeach() else() message(WARNING "arm-none-eabi-gcc not found; skipping ARM compile checks")