Skip to content

Aligned naming for flash and option bytes #defines #537

Aligned naming for flash and option bytes #defines

Aligned naming for flash and option bytes #defines #537

Workflow file for this run

name: C/C++ CI
on:
push:
branches: [master, develop, testing]
pull_request:
branches: [master, develop, testing]
jobs:
linux_64_bit:
strategy:
fail-fast: false
matrix:
config:
- name: Ubuntu20.04_x64 gcc9
os : ubuntu-20.04
cc : gcc-9
cxx : g++-9
packages: gcc-9 g++-9
- name: Ubuntu20.04_x64 gcc10
os : ubuntu-20.04
cc : gcc-10
cxx : g++-10
packages: gcc-10 g++-10
- name: Ubuntu20.04_x64 clang10
os : ubuntu-20.04
cc : clang-10
cxx : clang++-10
packages: gcc-9 g++-9 clang-10
- name: Ubuntu20.04_x64 clang12
os : ubuntu-20.04
cc : clang-12
cxx : clang++-12
packages: gcc-10 g++-10 clang-12
- name: Ubuntu22.04_x64 gcc10
os: ubuntu-22.04
cc: gcc-10
cxx: g++-10
packages: gcc-10 g++-10
- name: Ubuntu22.04_x64 gcc11
os: ubuntu-22.04
cc: gcc-11
cxx: g++-11
packages: gcc-11 g++-11
- name: Ubuntu22.04_x64 gcc12
os: ubuntu-22.04
cc: gcc-12
cxx: g++-12
packages: gcc-12 g++-12
- name: Ubuntu22.04_x64 clang11
os: ubuntu-22.04
cc: clang-11
cxx: clang++-11
packages: gcc-11 g++-11 clang-11
- name: Ubuntu22.04_x64 clang12
os: ubuntu-22.04
cc: clang-12
cxx: clang++-12
packages: gcc-12 g++-12 clang-12
- name: Ubuntu22.04_x64 clang13
os: ubuntu-22.04
cc: clang-13
cxx: clang++-13
packages: gcc-12 g++-12 clang-13
- name: Ubuntu22.04_x64 clang14
os: ubuntu-22.04
cc: clang-14
cxx: clang++-14
packages: gcc-12 g++-12 clang-14
- name: Ubuntu22.04_x64 clang15
os: ubuntu-22.04
cc: clang-15
cxx: clang++-15
packages: gcc-12 g++-12 clang-15
- name: Ubuntu24.04_x64 gcc10
os: ubuntu-24.04
cc: gcc-10
cxx: g++-10
packages: gcc-10 g++-10
- name: Ubuntu24.04_x64 gcc11
os: ubuntu-24.04
cc: gcc-11
cxx: g++-11
packages: gcc-11 g++-11
- name: Ubuntu24.04_x64 gcc12
os: ubuntu-24.04
cc: gcc-12
cxx: g++-12
packages: gcc-12 g++-12
- name: Ubuntu24.04_x64 gcc13
os: ubuntu-24.04
cc: gcc-13
cxx: g++-13
packages: gcc-12 g++-13
- name: Ubuntu24.04_x64 clang14
os: ubuntu-24.04
cc: clang-14
cxx: clang++-14
packages: gcc-13 g++-13 clang-14
- name: Ubuntu24.04_x64 clang15
os: ubuntu-24.04
cc: clang-15
cxx: clang++-15
packages: gcc-13 g++-13 clang-15
- name: Ubuntu24.04_x64 clang16
os: ubuntu-24.04
cc: clang-16
cxx: clang++-16
packages: gcc-13 g++-13 clang-16
- name: Ubuntu24.04_x64 clang17
os: ubuntu-24.04
cc: clang-17
cxx: clang++-17
packages: gcc-13 g++-13 clang-17
- name: Ubuntu24.04_x64 clang18
os: ubuntu-24.04
cc: clang-18
cxx: clang++-18
packages: gcc-13 g++-13 clang-18
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: sudo apt update && sudo apt-get install ${{ matrix.config.packages }} libusb-1.0.0-dev libgtk-3-dev rpm
- name: environment preparation
run: mkdir -p ./build/{debug,release}
- name: project configuration in debug
working-directory: ./build/debug
run: cmake ../.. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug
- name: project build in debug
working-directory: ./build/debug
run: cmake --build . --target all
- name: run tests
working-directory: ./build/debug
run: ctest --force-new-ctest-process
- name: project configuration in release
working-directory: ./build/release
run: cmake ../.. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
- name: project build in release
working-directory: ./build/release
run: cmake --build . --target all
- name: project installation
working-directory: ./build/release
run: sudo cmake --build . --target install
- name: project packaging
working-directory: ./build/release
run: sudo cpack --config ./CPackSourceConfig.cmake ../debug/CPackSourceConfig.cmake
- name: sudo make uninstall
working-directory: ./build/release
run: sudo cmake --build . --target uninstall
linux_32_bit:
strategy:
fail-fast: false
matrix:
config:
- name: Ubuntu20.04_x32 gcc9
os : ubuntu-20.04
cc : gcc-9
cxx : g++-9
packages: gcc-9-multilib g++-9-multilib
- name: Ubuntu20.04_x32 gcc10
os : ubuntu-20.04
cc : gcc-10
cxx : g++-10
packages: gcc-10-multilib g++-10-multilib
- name: Ubuntu20.04_x32 clang10
os : ubuntu-20.04
cc : clang-10
cxx : clang++-10
packages: gcc-9-multilib g++-9-multilib clang-10
- name: Ubuntu20.04_x32 clang12
os : ubuntu-20.04
cc : clang-12
cxx : clang++-12
packages: gcc-10-multilib g++-10-multilib clang-12
- name: Ubuntu22.04_x32 gcc10
os: ubuntu-22.04
cc: gcc-10
cxx: g++-10
packages: gcc-10-multilib g++-10-multilib
- name: Ubuntu22.04_x32 gcc11
os: ubuntu-22.04
cc: gcc-11
cxx: g++-11
packages: gcc-11-multilib g++-11-multilib
- name: Ubuntu22.04_x32 gcc12
os: ubuntu-22.04
cc: gcc-12
cxx: g++-12
packages: gcc-12-multilib g++-12-multilib
- name: Ubuntu22.04_x32 clang11
os: ubuntu-22.04
cc: clang-11
cxx: clang++-11
packages: gcc-11-multilib g++-11-multilib clang-11
- name: Ubuntu22.04_x32 clang12
os: ubuntu-22.04
cc: clang-12
cxx: clang++-12
packages: gcc-12-multilib g++-12-multilib clang-12
- name: Ubuntu22.04_x32 clang13
os: ubuntu-22.04
cc: clang-13
cxx: clang++-13
packages: gcc-12-multilib g++-12-multilib clang-13
- name: Ubuntu22.04_x32 clang14
os: ubuntu-22.04
cc: clang-14
cxx: clang++-14
packages: gcc-12-multilib g++-12-multilib clang-14
- name: Ubuntu22.04_x32 clang15
os: ubuntu-22.04
cc: clang-15
cxx: clang++-15
packages: gcc-12-multilib g++-12-multilib clang-15
- name: Ubuntu24.04_x32 gcc10
os: ubuntu-24.04
cc: gcc-10
cxx: g++-10
packages: gcc-10-multilib g++-10-multilib
- name: Ubuntu24.04_x32 gcc11
os: ubuntu-24.04
cc: gcc-11
cxx: g++-11
packages: gcc-11-multilib g++-11-multilib
- name: Ubuntu24.04_x32 gcc12
os: ubuntu-24.04
cc: gcc-12
cxx: g++-12
packages: gcc-12-multilib g++-12-multilib
- name: Ubuntu24.04_x32 gcc13
os: ubuntu-24.04
cc: gcc-13
cxx: g++-13
packages: gcc-12-multilib g++-13-multilib
- name: Ubuntu24.04_x32 clang14
os: ubuntu-24.04
cc: clang-14
cxx: clang++-14
packages: gcc-13-multilib g++-13-multilib clang-14
- name: Ubuntu24.04_x32 clang15
os: ubuntu-24.04
cc: clang-15
cxx: clang++-15
packages: gcc-13-multilib g++-13-multilib clang-15
- name: Ubuntu24.04_x32 clang16
os: ubuntu-24.04
cc: clang-16
cxx: clang++-16
packages: gcc-13-multilib g++-13-multilib clang-16
- name: Ubuntu24.04_x32 clang17
os: ubuntu-24.04
cc: clang-17
cxx: clang++-17
packages: gcc-13-multilib g++-13-multilib clang-17
- name: Ubuntu24.04_x32 clang18
os: ubuntu-24.04
cc: clang-18
cxx: clang++-18
packages: gcc-13-multilib g++-13-multilib clang-18
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
CFLAGS: -m32
CXXFLAGS: -m32
LDFLAGS: -m32
steps:
- uses: actions/checkout@v4
- name: Allow for i386 packages to be installed (used for libusb)
run: sudo dpkg --add-architecture i386
- name: Install dependencies
run: sudo apt update && sudo apt-get install libc6-dev:i386 ${{ matrix.config.packages }} libusb-1.0.0-dev:i386 rpm
- name: environment preparation
run: mkdir -p ./build/{debug,release}
- name: project configuration in debug
working-directory: ./build/debug
run: cmake ../.. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug
- name: project build in debug
working-directory: ./build/debug
run: cmake --build . --target all
- name: run tests
working-directory: ./build/debug
run: ctest --force-new-ctest-process
- name: project configuration in release
working-directory: ./build/release
run: cmake ../.. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
- name: project build in release
working-directory: ./build/release
run: cmake --build . --target all
- name: project installation
working-directory: ./build/release
run: sudo cmake --build . --target install
- name: project packaging
working-directory: ./build/release
run: sudo cpack --config ./CPackSourceConfig.cmake ../debug/CPackSourceConfig.cmake
- name: sudo make uninstall
working-directory: ./build/release
run: sudo cmake --build . --target uninstall
job_windows_msvc:
name: windows MSVC
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: environment preparation
run: mkdir .\\build\\debug && mkdir .\\build\\release
- name: project configuration in debug
working-directory: ./build/debug
run: cmake ..\\.. -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Debug
- name: project build in debug
working-directory: ./build/debug
run: cmake --build . --target ALL_BUILD
- name: run tests
working-directory: ./build/debug
run: ctest --force-new-ctest-process
- name: project configuration in release
working-directory: ./build/release
run: cmake ..\\.. -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release
- name: project build in release
working-directory: ./build/release
run: cmake --build . --target ALL_BUILD
- name: project installation
working-directory: ./build/release
run: cmake --build . --target INSTALL
- name: sudo make uninstall
working-directory: ./build/release
run: cmake --build . --target uninstall
# Linux MinGW cross compliation
# job_linux_22_04_cross:
# name: ubuntu-22.04 mingw64
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# - name: Install dependencies
# run: sudo apt-get install gcc-12 libusb-1.0.0-dev libgtk-3-dev rpm mingw-w64
# - name: Building Release for Windows (x86-64) ...
# run: sudo mkdir -p build-mingw && cd build-mingw && sudo cmake \
# -DCMAKE_SYSTEM_NAME=Windows \
# -DTOOLCHAIN_PREFIX=x86_64-w64-mingw32 \
# -DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/modules/set_toolchain.cmake \
# -DCMAKE_INSTALL_PREFIX=$PWD/install $PWD && \
# sudo make && sudo rm -rf build-mingw && cd -