Skip to content

remove gimgui from main #69

remove gimgui from main

remove gimgui from main #69

Workflow file for this run

name: Build Module
on: push
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
jobs:
build_linux_latest:
runs-on: ubuntu-latest
steps:
- name: Repo checkout
uses: actions/checkout@v4
- name: Get SDR++ master source
run: 'wget https://github.com/AlexandreRouma/SDRPlusPlus/archive/refs/heads/master.tar.gz && pwd && ls -lah'
- name: Get SDR++ nightly lib
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: 'AlexandreRouma/SDRPlusPlus'
version: 'tags/nightly'
file: 'sdrpp_debian_sid_amd64.deb'
token: ${{ secrets.GITHUB_TOKEN }}
- name: Unpack SDR++ source and core lib
run: 'mkdir sdrpp_lib && tar -zxvf master.tar.gz -C sdrpp_lib && dpkg-deb -xv sdrpp_debian_sid_amd64.deb ./sdrpp_lib && cp ./.github/workflows/sdrpp_module_hack.cmake ./ && pwd && ls -lah && ls -lah sdrpp_lib'
- name: Install dependencies
run: 'sudo apt-get update && sudo apt-get install libtalloc-dev libfftw3-dev libglfw3-dev libvolk2-dev libzstd-dev'
- name: Download ETSI codec
run: 'cd src/decoder/etsi_codec-patches && ./download_and_patch.sh'
- name: Cmake
run: 'mkdir build && cd build && ls -lah .. && cmake .. -DSDRPP_CORE_ROOT="$GITHUB_WORKSPACE/sdrpp_lib/SDRPlusPlus-master/core" -DSDRPP_LIB_ROOT="$GITHUB_WORKSPACE/sdrpp_lib/usr/lib" -DSDRPP_MODULE_CMAKE="$GITHUB_WORKSPACE/sdrpp_module_hack.cmake"'
- name: Make
run: 'cd build && make -j4 && ldd tetra_demodulator.so'
- name: Upload library
uses: actions/upload-artifact@v4
with:
name: tetra_demodulator
path: ./build/tetra_demodulator.so
build_windows:
runs-on: windows-latest
steps:
- name: Repo checkout
uses: actions/checkout@v4
- name: Create Build Environment
run: cmake -E make_directory build
- name: Download PothosSDR
run: Invoke-WebRequest -Uri "https://downloads.myriadrf.org/builds/PothosSDR/PothosSDR-2020.01.26-vc14-x64.exe" -OutFile ${{runner.workspace}}/pothos.exe
- name: Install PothosSDR
run: mkdir "C:/Program Files/PothosSDR" ; 7z x ${{runner.workspace}}/pothos.exe -o"C:/Program Files/PothosSDR/"
- name: Download libusb
run: Invoke-WebRequest -Uri "https://github.com/libusb/libusb/releases/download/v1.0.23/libusb-1.0.23.7z" -OutFile ${{runner.workspace}}/libusb.7z
- name: Patch Pothos with earlier libusb version
working-directory: ${{runner.workspace}}
run: 7z x libusb.7z -olibusb_old ; rm "C:/Program Files/PothosSDR/bin/libusb-1.0.dll" ; cp "libusb_old/MS64/dll/libusb-1.0.dll" "C:/Program Files/PothosSDR/bin/" ; rm "C:/Program Files/PothosSDR/lib/libusb-1.0.lib" ; cp "libusb_old/MS64/dll/libusb-1.0.lib" "C:/Program Files/PothosSDR/lib/"
- name: Get SDR++ master source
run: Invoke-WebRequest -Uri "https://github.com/AlexandreRouma/SDRPlusPlus/archive/refs/heads/master.zip" -OutFile master.zip
- name: Get SDR++ nightly lib
uses: dsaltares/fetch-gh-release-asset@master
with:
repo: 'AlexandreRouma/SDRPlusPlus'
version: 'tags/nightly'
file: 'sdrpp_windows_x64.zip'
token: ${{ secrets.GITHUB_TOKEN }}
- name: Unpack SDR++ source and core lib
run: mkdir sdrpp_lib ; 7z x master.zip -osdrpp_lib ; 7z x sdrpp_windows_x64.zip -osdrpp_lib ; cp .github/workflows/sdrpp_module_hack.cmake ./
- name: Prepare MinGW
run: C:/msys64/msys2_shell.cmd -defterm -here -no-start -mingw64 -c "pacman --noconfirm -S --needed base-devel mingw-w64-x86_64-tools"
- name: Generate .def file
working-directory: sdrpp_lib/sdrpp_windows_x64
run: C:/msys64/msys2_shell.cmd -defterm -here -no-start -mingw64 -c "gendef sdrpp_core.dll"
- name: Generate .lib file
working-directory: sdrpp_lib/sdrpp_windows_x64
run: |
$path = "C:/Program Files/Microsoft Visual Studio"
$contents = Get-ChildItem -Path $path -Force -Recurse -Directory | Select-Object -First 1
$path = $path + "/" + $contents.Name + "/Enterprise/VC/Tools/MSVC"
$path
$contents = Get-ChildItem -Path $path -Force -Recurse -Directory | Select-Object -First 1
$path = $path + "/" + $contents.Name + "/bin/HostX64/x64/Lib.exe"
$path
& $path /DEF:sdrpp_core.def
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v7
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Download ETSI codec
shell: bash
run: 'cd src/decoder/etsi_codec-patches && ./download_and_patch.sh'
- name: ETSI codec patches
run: |
cd src/decoder/codec
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn "../etsi_codec-patches/makefile-cleanups.patch"
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn "../etsi_codec-patches/fix_64bit.patch"
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn "../etsi_codec-patches/round_private.patch"
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn "../etsi_codec-patches/filename-case.patch"
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn "../etsi_codec-patches/log_stderr.patch"
- name: Install vcpkg dependencies
run: vcpkg install fftw3:x64-windows glfw3:x64-windows portaudio:x64-windows zstd:x64-windows libusb:x64-windows
- name: Prepare CMake
working-directory: build
run: cmake "$Env:GITHUB_WORKSPACE" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DSDRPP_CORE_ROOT="$Env:GITHUB_WORKSPACE/sdrpp_lib/SDRPlusPlus-master/core" -DSDRPP_LIB_ROOT="$Env:GITHUB_WORKSPACE/sdrpp_lib/sdrpp_windows_x64" -DSDRPP_MODULE_CMAKE="$Env:GITHUB_WORKSPACE/sdrpp_module_hack.cmake" -DCMAKE_BUILD_TYPE=RelWithDebInfo
- name: Build
working-directory: build
run: cmake --build . --config RelWithDebInfo --verbose
- name: Upload library
uses: actions/upload-artifact@v4
with:
name: tetra_demodulator_win
path: build/RelWithDebInfo/tetra_demodulator.dll
- name: Upload pdb
uses: actions/upload-artifact@v4
with:
name: tetra_demodulator_win_pdb
path: build/RelWithDebInfo/tetra_demodulator.pdb