Przeglądaj źródła

Merge esp_flasher/lib/esp-serial-flasher/submodules/stm32-cmake from https://github.com/ObKo/stm32-cmake

Willy-JL 1 rok temu
rodzic
commit
d03e4267fa

+ 6 - 3
esp_flasher/lib/esp-serial-flasher/submodules/stm32-cmake/.github/workflows/cmake.yml

@@ -7,15 +7,18 @@ env:
   BUILD_TYPE: Release
 
 jobs:
+  RetrieveTargetsMatrix:
+    uses: ./.github/workflows/create-matrix.yml
+
   test-ubuntu:
     runs-on: ubuntu-20.04
+    needs: RetrieveTargetsMatrix
     strategy:
-      matrix:
-        family: [C0, F0, F1, F2, F3, F4, F7, G0, G4, H5, H7, L0, L1, L4, L5, U0, U5, WB, WL, MP1]
+      matrix: ${{ fromJSON(needs.RetrieveTargetsMatrix.outputs.matrix) }}
       fail-fast: false
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
       
     - name: Install ARM toolchain
       run: sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi 

+ 30 - 0
esp_flasher/lib/esp-serial-flasher/submodules/stm32-cmake/.github/workflows/create-matrix.yml

@@ -0,0 +1,30 @@
+name: MatrixCreator
+
+run-name: "Creates supported family matrix for other jobs"
+
+on:
+  workflow_call:
+    outputs:
+      matrix:
+        description: "Supported family for job matrixing"
+        value: ${{ jobs.CreateMatrix.outputs.matrix }}
+
+jobs:
+  CreateMatrix:
+    runs-on: ubuntu-latest
+    outputs:
+      matrix: ${{ steps.create-matrix.outputs.matrix }}
+    steps:
+      - name: Checkout repo
+        id: checkout
+        uses: actions/checkout@v4
+
+      - name: Create matrix
+        id: create-matrix
+        run: |
+          files=$(find cmake/stm32/ -name '*.cmake' -exec sh -c "basename {} | cut -f1 -d '.' | tr '[:lower:]' '[:upper:]'" \;  | sort)
+          deletes="COMMON DEVICES LINKER_LD"
+          for del in $deletes; do
+            files=(${files[@]/$del})
+          done
+          echo "matrix={\"family\":$(jq --compact-output --null-input '$ARGS.positional' --args -- ${files[@]})}" >> $GITHUB_OUTPUT

+ 3 - 2
esp_flasher/lib/esp-serial-flasher/submodules/stm32-cmake/tests/cmsis/CMakeLists.txt

@@ -15,7 +15,8 @@ if(FETCH_ST_SOURCES)
     stm32_fetch_cmsis(${TEST_FAMILIES})
 endif()
 
-find_package(CMSIS REQUIRED)
+list(TRANSFORM TEST_FAMILIES PREPEND STM32 OUTPUT_VARIABLE TEST_FAMILIES_LONG_NAMES)
+find_package(CMSIS COMPONENTS "${TEST_FAMILIES_LONG_NAMES}" REQUIRED)
 
 set(SOURCES main.c)
 
@@ -34,7 +35,7 @@ foreach(FAMILY ${TEST_FAMILIES})
             add_executable(cmsis-test-${DEVICE} ${SOURCES})
             target_link_libraries(cmsis-test-${DEVICE} CMSIS::STM32::${DEVICE} STM32::NoSys)
         else()
-            stm32_get_cores(CORES FAMILY ${FAMILY} DEVICE ${DEVICE})
+            stm32_get_cores(DEV_CORES FAMILY ${FAMILY} DEVICE ${DEVICE})
             foreach(CORE ${DEV_CORES})
                 stm32_get_memory_info(FAMILY ${FAMILY} DEVICE ${DEVICE} CORE ${CORE} FLASH SIZE FLASH_SIZE)
                 stm32_get_memory_info(FAMILY ${FAMILY} DEVICE ${DEVICE} CORE ${CORE} RAM SIZE RAM_SIZE)