name: "genqrcode: CI" on: workflow_dispatch: workflow_call: jobs: cmake: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] env: BUILD_TYPE: Release defaults: run: working-directory: genqrcode steps: - uses: actions/checkout@v6 - name: Install vcpkg deps (Windows) if: matrix.os == 'windows-latest' uses: lukka/run-vcpkg@v11 with: vcpkgGitCommitId: '77df67cfff9c12ccfdb52284e07c87c75092f723' - name: Install vcpkg packages (Windows) if: matrix.os == 'windows-latest' run: vcpkg install getopt:x64-windows libiconv:x64-windows libpng:x64-windows - name: Install deps (Ubuntu) if: matrix.os == 'ubuntu-latest' run: sudo apt-get update && sudo apt-get install -y libpng-dev - name: Install deps (macOS) if: matrix.os == 'macos-latest' run: brew install pkg-config libpng - name: Configure CMake if: matrix.os != 'windows-latest' run: cmake -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DWITH_TESTS=yes -DBUILD_SHARED_LIBS=on -S . -B build - name: Configure CMake (Windows) if: matrix.os == 'windows-latest' run: cmake -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DWITH_TESTS=yes -S . -B build - name: Build run: cmake --build build --config "$BUILD_TYPE" -j 2 - name: Test run: ctest --test-dir build -C "$BUILD_TYPE" autotools: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest] defaults: run: working-directory: genqrcode steps: - uses: actions/checkout@v6 - name: Install deps (macOS) if: matrix.os == 'macos-latest' run: brew install automake autoconf libtool pkg-config libpng - name: Generate configure run: ./autogen.sh - name: Configure run: ./configure --with-tests - name: Build run: make -j 2 - name: Test run: make check - name: Distcheck run: make -j 2 distcheck