Skip to content

feat: godot-cpp as the C++23 module godot_cpp #1

feat: godot-cpp as the C++23 module godot_cpp

feat: godot-cpp as the C++23 module godot_cpp #1

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: mcpp (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-15, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Xlings
shell: bash
env:
XLINGS_NON_INTERACTIVE: 1
run: |
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/refs/heads/main/tools/other/quick_install.sh | bash
echo "$HOME/.xlings/subos/current/bin" >> "$GITHUB_PATH"
- name: Install project tools
shell: bash
run: |
xlings update
xlings install
# Same transition step as ffmpeg-m / imgui-m: pin the glibc gcc
# toolchain explicitly until mcpp's bootstrap default settles.
- name: Set default toolchain
shell: bash
run: |
mcpp toolchain install gcc 16.1.0
mcpp toolchain default gcc@16.1.0
mcpp --version
# Cold: compat.godot-cpp builds 1022 TUs from source underneath this.
- name: Build the module layer
shell: bash
run: mcpp build
# tests/godot_cpp_module.cpp -- the import surface
# tests/godot_cpp_macros.cpp -- GDCLASS next to the import
- name: Run tests
shell: bash
run: mcpp test
# A real GDExtension shared library -- the shape this package exists for,
# and what caught the missing -fPIC in compat.godot-cpp.
- name: Build the summator GDExtension example
shell: bash
run: |
cd examples/summator
mcpp build