From 8d78c4db27338a3e3bad7bce96447e93ec0cc82b Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Tue, 28 Feb 2023 17:02:18 +0100 Subject: [PATCH 1/3] fix(cmake): typo Signed-off-by: Frederic Pillon --- cmake/toolchain.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/toolchain.cmake b/cmake/toolchain.cmake index 019159de3e..19ccb9c677 100644 --- a/cmake/toolchain.cmake +++ b/cmake/toolchain.cmake @@ -40,7 +40,7 @@ find_program(DOT "dot") include("${CMAKE_CURRENT_LIST_DIR}/ensure_core_deps.cmake") ensure_core_deps() -# Setting Linux is forcing th extension to be .o instead of .obj when building on WIndows. +# Setting Linux is forcing the extension to be .o instead of .obj when building on Windows. # It is important because armlink is failing when files have .obj extensions (error with # scatter file section not found) SET(CMAKE_SYSTEM_NAME Linux) From cfe7a2914d591a452bbe89a5c27009e5037452bc Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Tue, 28 Feb 2023 17:03:00 +0100 Subject: [PATCH 2/3] feat(cmake): update C/C++ standard to 17 Signed-off-by: Frederic Pillon --- cmake/toolchain.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/toolchain.cmake b/cmake/toolchain.cmake index 19ccb9c677..5e80f7b6a4 100644 --- a/cmake/toolchain.cmake +++ b/cmake/toolchain.cmake @@ -49,8 +49,8 @@ SET(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) # don't try to link when testing the compiler, it won't work anyway set(BUILD_SHARED_LIBS false CACHE STRING "") -set(CMAKE_CXX_STANDARD 14) -set(CMAKE_C_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_C_STANDARD 17) set(CMAKE_EXECUTABLE_SUFFIX .elf) # These override CMAKE_EXECUTABLE_SUFFIX -- prevent any CMake built-in from overriding the value we want From 7b429024f5bb4c0d91ee08c9ab25dd9ceea377bd Mon Sep 17 00:00:00 2001 From: Frederic Pillon Date: Tue, 28 Feb 2023 17:03:10 +0100 Subject: [PATCH 3/3] ci(cmake): use matrix to build against one board per serie C0 not added as not enough space for the example. Signed-off-by: Frederic Pillon --- .github/workflows/Cmake.yml | 24 ++++++++++++++++++-- CI/build/examples/BareMinimum/CMakeLists.txt | 5 +++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Cmake.yml b/.github/workflows/Cmake.yml index 8091e00221..8084c1c904 100644 --- a/.github/workflows/Cmake.yml +++ b/.github/workflows/Cmake.yml @@ -15,7 +15,7 @@ on: pull_request: paths-ignore: - .github/** - - '!.github/workflows/Arduino-build.yml' + - '!.github/workflows/Cmake.yml' - '*.json' - '**.md' - keywords.txt @@ -28,6 +28,26 @@ jobs: name: Check CMake usage runs-on: ubuntu-latest + strategy: + matrix: + boardname: + - NUCLEO_F091RC + - NUCLEO_F103RB + - NUCLEO_F207ZG + - NUCLEO_F303RE + - NUCLEO_F411RE + - NUCLEO_F767ZI + - NUCLEO_G0B1RE + - NUCLEO_G474RE + - NUCLEO_H743ZI2 + - NUCLEO_L073RZ + - NUCLEO_L152RE + - NUCLEO_L476RG + - NUCLEO_L552ZE_Q + - NUCLEO_U575ZI_Q + - P_NUCLEO_WB55RG + - NUCLEO_WL55JC1 + steps: - name: Checkout uses: actions/checkout@main @@ -38,7 +58,7 @@ jobs: - name: Configure run: | mkdir build - cmake -S CI/build/examples/BareMinimum -B ./build -G Ninja + cmake -DBOARDNAME=${{ matrix.boardname }} -S CI/build/examples/BareMinimum -B ./build -G Ninja - name: Build example working-directory: '${{ github.workspace }}/build' diff --git a/CI/build/examples/BareMinimum/CMakeLists.txt b/CI/build/examples/BareMinimum/CMakeLists.txt index 9e816bee74..118a2bdbc1 100644 --- a/CI/build/examples/BareMinimum/CMakeLists.txt +++ b/CI/build/examples/BareMinimum/CMakeLists.txt @@ -10,7 +10,10 @@ cmake_minimum_required(VERSION 3.21) file(REAL_PATH "../../../../" CORE_PATH EXPAND_TILDE) file(TO_CMAKE_PATH "${CORE_PATH}" CORE_PATH) -set(BOARDNAME "NUCLEO_F103RB") +if(NOT DEFINED BOARDNAME) + MESSAGE(STATUS "BOARDNAME is not defined set it to NUCLEO_F103RB") + set(BOARDNAME "NUCLEO_F103RB") +endif() list(APPEND CMAKE_MODULE_PATH ${CORE_PATH}/cmake) set(CMAKE_TOOLCHAIN_FILE toolchain)