|
1 | | -name: Build check |
| 1 | +name: CI |
2 | 2 | on: |
3 | 3 | push: |
4 | 4 | pull_request: |
5 | 5 | workflow_dispatch: |
6 | 6 |
|
7 | 7 | jobs: |
8 | | - macos_build_job: |
| 8 | + windows-ci: |
9 | 9 | strategy: |
10 | 10 | fail-fast: false |
11 | 11 | matrix: |
12 | | - os: [macos-14, macos-15] |
13 | | - runs-on: ${{ matrix.os }} |
14 | | - name: Build on ${{ matrix.os }} |
15 | | - steps: |
16 | | - - uses: actions/checkout@v4 |
17 | | - - name: Setup tools |
18 | | - run: brew install soapysdr |
19 | | - - name: Build |
20 | | - run: | |
21 | | - cmake -B build |
22 | | - cmake --build build |
| 12 | + build_type: [Release] |
| 13 | + config: |
| 14 | + - cmake_config: -G "Visual Studio 17 2022" -A "x64" |
| 15 | + arch: x64 |
| 16 | + os: windows-2025 |
23 | 17 |
|
24 | | - linux_build_job: |
25 | | - strategy: |
26 | | - fail-fast: false |
27 | | - matrix: |
28 | | - os: [ubuntu-22.04, ubuntu-24.04] |
29 | | - runs-on: ${{ matrix.os }} |
30 | | - name: Build on ${{ matrix.os }} |
| 18 | + runs-on: ${{ matrix.config.os }} |
| 19 | + name: Build on ${{ matrix.config.os }} |
| 20 | + env: |
| 21 | + INSTALL_PREFIX: 'C:\Program Files\SoapySDR' |
31 | 22 | steps: |
32 | 23 | - uses: actions/checkout@v4 |
33 | | - - name: Setup tools |
| 24 | + - uses: ilammy/msvc-dev-cmd@v1 |
| 25 | + with: |
| 26 | + arch: ${{matrix.config.arch}} |
| 27 | + - name: Install SoapySDR |
34 | 28 | run: | |
35 | | - sudo apt-get update -q -y |
36 | | - sudo apt-get install -y --no-install-recommends cmake ninja-build |
37 | | - sudo apt-get install -q -y libsoapysdr-dev |
| 29 | + cd ${{runner.workspace}} |
| 30 | + # Build SoapySDR that supports OS X GCC modules |
| 31 | + git clone https://github.com/pothosware/SoapySDR |
| 32 | + cd SoapySDR |
| 33 | + git checkout f8d57652d12f9d212f373a81e493eba1a0b058c5 |
| 34 | + cmake ${{matrix.config.cmake_config}} -DENABLE_PYTHON=OFF -DCMAKE_INSTALL_PREFIX="$Env:INSTALL_PREFIX" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -B build |
| 35 | + cmake --build build --config ${{matrix.build_type}} |
| 36 | + cmake --install build --config ${{matrix.build_type}} |
38 | 37 | - name: Build |
39 | 38 | run: | |
40 | | - cmake -GNinja -B build |
41 | | - cmake --build build |
| 39 | + $Env:INCLUDE += ";$Env:INSTALL_PREFIX\include" |
| 40 | + $Env:LIB += ";$Env:INSTALL_PREFIX\lib" |
| 41 | + cmake ${{matrix.config.cmake_config}} -DCMAKE_INSTALL_PREFIX="$Env:INSTALL_PREFIX" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -B build |
| 42 | + cmake --build build --config ${{matrix.build_type}} |
| 43 | + cmake --install build --config ${{matrix.build_type}} |
| 44 | + - name: Test module registration |
| 45 | + run: | |
| 46 | + $Env:PATH += ";$Env:INSTALL_PREFIX\bin" |
| 47 | + SoapySDRUtil --check=rtltcp |
0 commit comments