diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e2cc0d1a..3b312385 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,6 +22,18 @@ jobs: strategy: matrix: os: ['macos-latest', 'ubuntu-latest', 'windows-latest'] + cmake: ['3.10.0', '3.16.0', '3.21.0', '4.0.0', 'latest'] + exclude: + # GitHub runners use Apple silicon. Support added in CMake 3.19.2. + - os: 'macos-latest' + cmake: '3.10.0' + - os: 'macos-latest' + cmake: '3.16.0' + # GitHub runners use Visual Studio 2022. Support added in CMake 3.21. + - os: 'windows-latest' + cmake: '3.10.0' + - os: 'windows-latest' + cmake: '3.16.0' # Don't cancel all builds when one fails fail-fast: false @@ -30,6 +42,11 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: ${{ matrix.cmake }} + - name: Install dependencies (macOS) run: brew install fftw if: matrix.os == 'macos-latest' @@ -127,13 +144,14 @@ jobs: with: name: hackrf-tools-windows path: ${{github.workspace}}/install/bin - if: matrix.os == 'windows-latest' + if: matrix.os == 'windows-latest' && matrix.cmake == 'latest' firmware: strategy: matrix: os: ['macos-latest', 'ubuntu-latest'] board: ['HACKRF_ONE', 'JAWBREAKER', 'RAD1O'] + cmake: ['3.10.0', 'latest'] # Don't cancel all builds when one fails fail-fast: false @@ -144,6 +162,11 @@ jobs: with: submodules: true + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v2 + with: + cmake-version: ${{ matrix.cmake }} + - name: Install Arm GNU Toolchain uses: carlosperate/arm-none-eabi-gcc-action@v1 diff --git a/firmware/CMakeLists.txt b/firmware/CMakeLists.txt index 337353fa..10c2d09d 100644 --- a/firmware/CMakeLists.txt +++ b/firmware/CMakeLists.txt @@ -20,7 +20,7 @@ # Top directory CMake project for HackRF firmware -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) set(CMAKE_TOOLCHAIN_FILE toolchain-arm-cortex-m.cmake) project (hackrf_firmware_all C) diff --git a/firmware/blinky/CMakeLists.txt b/firmware/blinky/CMakeLists.txt index b44ea591..1ffd3b45 100644 --- a/firmware/blinky/CMakeLists.txt +++ b/firmware/blinky/CMakeLists.txt @@ -19,7 +19,7 @@ # Boston, MA 02110-1301, USA. # -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) set(CMAKE_TOOLCHAIN_FILE ../toolchain-arm-cortex-m.cmake) project(blinky C) diff --git a/firmware/hackrf_usb/CMakeLists.txt b/firmware/hackrf_usb/CMakeLists.txt index 8df34a7c..311c18ff 100644 --- a/firmware/hackrf_usb/CMakeLists.txt +++ b/firmware/hackrf_usb/CMakeLists.txt @@ -18,7 +18,7 @@ # Boston, MA 02110-1301, USA. # -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) set(CMAKE_TOOLCHAIN_FILE ../toolchain-arm-cortex-m.cmake) project(hackrf_usb C) diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 45c0f8b6..2efb17c5 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -1,6 +1,6 @@ #top dir cmake project for libhackrf + tools -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) project (HackRF C) set(CMAKE_C_FLAGS "$ENV{CFLAGS}" CACHE STRING "C Flags") diff --git a/host/hackrf-tools/CMakeLists.txt b/host/hackrf-tools/CMakeLists.txt index 1b6d6ebf..8e472e83 100644 --- a/host/hackrf-tools/CMakeLists.txt +++ b/host/hackrf-tools/CMakeLists.txt @@ -21,7 +21,7 @@ # Based heavily upon the libftdi cmake setup. -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) project(hackrf-tools C) set(PACKAGE hackrf-tools) include(${PROJECT_SOURCE_DIR}/../cmake/set_release.cmake) diff --git a/host/libhackrf/CMakeLists.txt b/host/libhackrf/CMakeLists.txt index e56e24aa..f75c2397 100644 --- a/host/libhackrf/CMakeLists.txt +++ b/host/libhackrf/CMakeLists.txt @@ -21,7 +21,7 @@ # Based heavily upon the libftdi cmake setup. -cmake_minimum_required(VERSION 3.5.0) +cmake_minimum_required(VERSION 3.10.0) project(libhackrf C) set(MAJOR_VERSION 0) set(MINOR_VERSION 9)