Aligned naming for flash and option bytes #defines #537
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 - |