name: Build bgcode Binaries on: workflow_dispatch: push: paths: - '.github/workflows/build-bgcode.yml' jobs: build: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] include: - os: ubuntu-latest artifact_name: bgcode-linux binary_path: build/src/LibBGCode/cmd/bgcode final_name: bgcode - os: windows-latest artifact_name: bgcode-windows binary_path: build/src/LibBGCode/cmd/Release/bgcode.exe final_name: bgcode.exe - os: macos-latest artifact_name: bgcode-macos binary_path: build/src/LibBGCode/cmd/bgcode final_name: bgcode_mac runs-on: ${{ matrix.os }} steps: - name: Checkout libbgcode uses: actions/checkout@v4 with: repository: prusa3d/libbgcode submodules: true - name: Setup CMake uses: jwlawson/actions-setup-cmake@v2.0 with: cmake-version: '3.25.x' - name: Configure and Build run: | cmake --preset default -DLibBGCode_BUILD_DEPS=ON cmake --build --preset default --config Release shell: bash - name: Rename Binary (macOS/Linux) if: runner.os != 'Windows' run: mv ${{ matrix.binary_path }} ${{ matrix.final_name }} - name: Rename Binary (Windows) if: runner.os == 'Windows' run: move ${{ matrix.binary_path }} ${{ matrix.final_name }} shell: cmd - name: Upload Artifact uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} path: ${{ matrix.final_name }}