Skip to content

[pull] master from godotengine:master #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 114 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
b17e668
Bump actions/upload-artifact from 3 to 4
dependabot[bot] Dec 14, 2023
7f02301
Don't print an error when decoding a null Ref<T>
dsnopek Oct 7, 2024
7f47d39
fix typed_dictionary compile-time regression
Oct 21, 2024
daef7d4
Add variant_internal.hpp.
Ivorforce Nov 26, 2024
bb56706
Merge pull request #1616 from dsnopek/ptrtoarg-no-error-for-null-ref
dsnopek Dec 2, 2024
732df06
CMake: Fix selection of MSVC Runtime compile flags
enetheru Nov 30, 2024
9df3a66
Replace empty EXCLUDE variable with EXCLUDE_FROM_ALL
enetheru Nov 28, 2024
72aeb35
Merge pull request #1655 from Ivorforce/variant-internal
dsnopek Dec 6, 2024
4eaef4c
Merge pull request #1663 from enetheru/fix_crt_debug
dsnopek Dec 6, 2024
163189f
Merge pull request #1660 from enetheru/exclude_typo
dsnopek Dec 6, 2024
542ab19
CMake: Handle GODOT_DEV_BUILD flag correctly
enetheru Nov 26, 2024
ce66e6b
Merge pull request #1648 from enetheru/dev_tag
dsnopek Dec 8, 2024
ef9778a
CMake: Enable using clang-cl on windows
enetheru Dec 4, 2024
38056d1
Merge pull request #1651 from enetheru/clang-cl
dsnopek Dec 9, 2024
9943675
Add a separate setup-godot-cpp github action.
Ivorforce Nov 26, 2024
97c16d3
Merge pull request #1656 from Ivorforce/gh-action-setup-godot-cpp
dsnopek Dec 9, 2024
47d9cb9
Fix `print_verbose()` macro conflicting with `UtilityFunctions::print…
dsnopek Dec 9, 2024
27ffd8c
Merge pull request #1668 from dsnopek/print-verbose-conflict
dsnopek Dec 10, 2024
2fd3a80
Add icon path to class creation info
raulsntos Oct 12, 2024
47f11bc
Merge pull request #1666 from raulsntos/set_class_icon
dsnopek Dec 21, 2024
6f7293c
Alleviate CMake target name clashes, visibility, and grouping.
enetheru Dec 11, 2024
c4f1abe
[Bindings] Build profile now strips methods and skip files
Faless Dec 20, 2024
0cfe01e
[CI] Re-add generated files consistency check
Faless Dec 30, 2024
7d3870b
Merge pull request #1680 from Faless/build/profile_strip_json
dsnopek Jan 7, 2025
012b8ff
Merge pull request #1658 from enetheru/name_clash
dsnopek Jan 10, 2025
ae198fe
CMake: Support using build_profile.json
enetheru Jan 11, 2025
5c9529f
Update for virtual method compatibility system
dsnopek Dec 20, 2024
65046d0
Merge pull request #1676 from dsnopek/gdextension-virtual-method-compat
dsnopek Jan 12, 2025
94a1f4f
Merge pull request #1670 from enetheru/build_profile
dsnopek Jan 12, 2025
8814ac5
CMake: Support for XML documentation
enetheru Jan 12, 2025
befe3ee
Merge pull request #1682 from enetheru/gdext-docs-cmake
dsnopek Jan 13, 2025
bd3cf47
Update README.md with new pre-commit instructions
bgie Jan 20, 2025
7576dc5
Fix buffer overrun with enums pointers cast to int64_t* when enum is …
bgie Jan 20, 2025
dfc5196
gdextension: Sync with upstream commit d33da79d3f8fe84be2521d25b9ba8e…
dsnopek Jan 20, 2025
faf6fac
Merge pull request #1686 from bgie/readme_precommit
dsnopek Jan 21, 2025
b86cf32
Merge pull request #1687 from bgie/enum_size
dsnopek Jan 21, 2025
13cd2d9
Merge pull request #1628 from IvanInventor/typed_dict_regression_fix
dsnopek Jan 21, 2025
9ce7a71
CMake: Fix #1690 - DEBUG_FEATURES generator expression
enetheru Jan 23, 2025
3c55ca7
Merge pull request #1691 from enetheru/fix1690
dsnopek Jan 29, 2025
f06af65
gdextension: Sync with upstream commit a013481b0911e59cc3f3dea7ebb732…
dsnopek Feb 2, 2025
ee2a895
Merge pull request #1335 from godotengine/dependabot/github_actions/a…
dsnopek Feb 3, 2025
91f81f5
CMake: Implement 'threads' Option
enetheru Jan 31, 2025
560f786
Merge pull request #1698 from enetheru/threads
dsnopek Feb 7, 2025
f398ebb
gdextension: Sync with upstream commit 06acfccf89ad6b900ae694a4d58cea…
dsnopek Feb 8, 2025
9d9099a
Simplified architecture naming to reduce confusion
enetheru Feb 9, 2025
a353be5
Fix -Wmissing-braces warning (included in -Wall) in array constructor…
BenLubar Feb 9, 2025
35469fd
Turn python_callouts.cmake into GodotCPPModule.cmake
enetheru Feb 9, 2025
18a926e
CMake: Fix for #1699 msvc runtime selection issues
enetheru Feb 5, 2025
847dca4
Merge pull request #1701 from enetheru/msvc_runtime
dsnopek Feb 17, 2025
3f54a86
Merge pull request #1707 from enetheru/cmake_module
dsnopek Feb 17, 2025
79f9bc9
Merge pull request #1708 from enetheru/arch_confusion
dsnopek Feb 17, 2025
23c2407
CMake: Create destination folder for doc_source.cpp generation
enetheru Jan 25, 2025
5eb6e6b
Merge pull request #1709 from enetheru/MinGWMakefiles
dsnopek Feb 17, 2025
89fd276
Style: Replace `_NO_DISCARD_` macro with `[[nodiscard]]`
Repiteo Feb 20, 2025
48baa0c
Merge pull request #1713 from Repiteo/style/nodiscard
dsnopek Feb 21, 2025
98ea2f6
gdextension: Sync with upstream commit 8ed125b42908d0d46d3b8967e3a3bc…
dsnopek Feb 24, 2025
e7f07da
CMake: Add generate_bindings custom target
enetheru Feb 26, 2025
375c0d1
gdextension: Sync with upstream commit 01545c995b0612c68f9dfce8f6cc67…
dsnopek Feb 26, 2025
4a9409a
Update `GDVIRTUAL*()` macros to match Godot 4.4
dsnopek Feb 25, 2025
c8c25cd
Merge pull request #1720 from enetheru/generator_target
dsnopek Feb 27, 2025
0a73df5
Check that precision of `extension_api.json` matches build options
dsnopek Feb 21, 2025
d0dd282
CMake: Rename all GODOT_ to GODOTCPP_
enetheru Feb 26, 2025
e381658
gdextension: Sync with upstream commit 15ff450680a40391aabbffde0a57ea…
dsnopek Mar 1, 2025
26358b5
Merge pull request #1719 from dsnopek/gdvirtual-required-macros
dsnopek Mar 1, 2025
06082d7
Merge pull request #1721 from enetheru/godotcpp
dsnopek Mar 1, 2025
714c9e2
gdextension: Sync with upstream commit 4c311cbee68c0b66ff8ebb8b0defdd…
dsnopek Mar 3, 2025
2f6d7f2
add gersemi to pre-commit hooks for CMake formatting like black
enetheru Feb 4, 2025
05f5d73
Merge pull request #1722 from enetheru/gersemi
dsnopek Mar 6, 2025
671e309
Updating commenting to be consistent
enetheru Mar 2, 2025
8b33e73
CMake: default target when godot-cpp is top level
enetheru Mar 5, 2025
55cbea7
Merge pull request #1728 from enetheru/default_target
dsnopek Mar 6, 2025
a3f8921
Merge pull request #1723 from enetheru/comments
dsnopek Mar 6, 2025
107cb1d
Style: Integrate `#pragma once` in builders/checks
Repiteo Mar 7, 2025
7056c99
Style: Replace header guards with `#pragma once`
Repiteo Mar 7, 2025
c963321
Ignore `#pragma once` commit
Repiteo Mar 7, 2025
43690cb
Remove unnecessary forced -fno-exceptions for web builds
ytnuf Mar 10, 2025
89abe15
CMake: Target as configuration option
enetheru Mar 9, 2025
0b6350d
Merge pull request #1738 from ytnuf/exception
dsnopek Mar 13, 2025
9f02db1
Merge pull request #1733 from enetheru/single_target_test
dsnopek Mar 13, 2025
a5db125
Merge pull request #1714 from dsnopek/extension-api-precision
dsnopek Mar 13, 2025
d8807a1
Merge pull request #1734 from Repiteo/style/pragma-once
dsnopek Mar 13, 2025
6f981b3
Merge pull request #1704 from BenLubar/missing-braces
dsnopek Mar 13, 2025
f83f364
CMake: XCode dependency chain fixes - remastered
enetheru Mar 11, 2025
5eb16d0
CMake: public/private flags
enetheru Feb 5, 2025
d79959c
binding_generator.py: Don't error if directory already exists
zhmt Feb 7, 2025
aa03c32
Add missing Projection constructor with 16 real_t values
aaronfranke Mar 14, 2025
e4bd867
Merge pull request #1730 from enetheru/XCode
dsnopek Mar 14, 2025
654de13
Merge pull request #1702 from zhmt/master
dsnopek Mar 14, 2025
67ca2fb
Merge pull request #1740 from enetheru/privatise
dsnopek Mar 14, 2025
1edfca2
Synchronize most shared template code with Godot 4.4
dsnopek Feb 25, 2025
075b517
Synchronize most shared variant code with Godot 4.4
dsnopek Feb 21, 2025
2b4802d
Merge pull request #1715 from dsnopek/godot-sync-pre44
dsnopek Mar 14, 2025
f08e781
Merge pull request #1718 from dsnopek/godot-sync-pre44-templates
dsnopek Mar 14, 2025
d239da3
[macOS] Remove unnecessary Cocoa reference.
bruvzg Mar 28, 2025
f088bc9
Merge pull request #1752 from bruvzg/rem_libs
dsnopek Mar 28, 2025
035add9
Fix stack smashing when Godot methods return `char32_t`, `char16_t` o…
dsnopek Mar 28, 2025
f3deed0
Merge pull request #1753 from dsnopek/stack-smashing-char-types
dsnopek Apr 1, 2025
7ffaecc
Add method_ptrcall header include to type_info to fix compiler errors
tomfull123 Mar 28, 2025
a2c37f8
Made the Array's ptr and ptrw methods private
tomfull123 Feb 22, 2025
b0f4190
Implement `use_static_cpp` flag for Linux
unvermuthet Mar 18, 2025
c2d688b
Merge pull request #1747 from unvermuthet/linux-use-static-cpp
dsnopek Apr 2, 2025
d72baf1
Merge pull request #1742 from aaronfranke/projection-construct
dsnopek Apr 2, 2025
c26e7c9
Merge pull request #1754 from tomfull123/typed-dictionary-compilation…
dsnopek Apr 2, 2025
da064d8
Merge pull request #1717 from tomfull123/typed-array-range-based-loop…
dsnopek Apr 2, 2025
946a693
.
tomfull123 Apr 2, 2025
552a74c
Update test project to Godot 4.4
Calinou Apr 3, 2025
335b490
Added initialiser list support to TypedDictionary
tomfull123 Mar 24, 2025
b6c0251
CMake: Update CI
enetheru Mar 11, 2025
7888c15
Merge pull request #1726 from enetheru/continuous_integration
dsnopek Apr 5, 2025
096d905
Merge pull request #1760 from Calinou/update-test-project-4.4
dsnopek Apr 5, 2025
1163d1b
Merge pull request #1750 from tomfull123/typed-dictionary-initializer…
dsnopek Apr 5, 2025
478e263
Merge pull request #1716 from tomfull123/master
dsnopek Apr 5, 2025
38e517b
Fix compatibility break for CI
enetheru Apr 6, 2025
c173cc0
Merge pull request #1761 from enetheru/CI_compat_fix
dsnopek Apr 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This file contains a list of Git commit hashes that should be hidden from the
# regular Git history. Typically, this includes commits involving mass auto-formatting
# or other normalizations. Commit hashes *must* use the full 40-character notation.
# To apply the ignore list in your local Git client, you must run:
#
# git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# This file is automatically used by GitHub.com's blame view.

# Style: Replace header guards with `#pragma once`
7056c996dd43ae1aa466c94d95cc2fe63853d8a9
71 changes: 71 additions & 0 deletions .github/actions/setup-godot-cpp/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Setup godot-cpp
description: Setup build dependencies for godot-cpp.

inputs:
platform:
required: true
description: Target platform.
em-version:
default: 3.1.62
description: Emscripten version.
windows-compiler:
required: true
description: The compiler toolchain to use on Windows ('mingw' or 'msvc').
type: choice
options:
- mingw
- msvc
default: mingw
mingw-version:
default: 12.2.0
description: MinGW version.
ndk-version:
default: r23c
description: Android NDK version.
buildtool:
default: scons
description: scons or cmake
scons-version:
default: 4.4.0
description: SCons version.


runs:
using: composite
steps:
- name: Setup Python (for SCons)
uses: actions/setup-python@v5
with:
python-version: 3.x

- name: Setup Android dependencies
if: inputs.platform == 'android'
uses: nttld/setup-ndk@v1
with:
ndk-version: ${{ inputs.ndk-version }}
link-to-sdk: true

- name: Setup Web dependencies
if: inputs.platform == 'web'
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{ inputs.em-version }}
no-cache: true

- name: Setup MinGW for Windows/MinGW build
if: inputs.platform == 'windows' && inputs.windows-compiler == 'mingw'
uses: egor-tensin/setup-mingw@v2
with:
version: ${{ inputs.mingw-version }}

- name: Setup SCons
if: ${{ inputs.buildtool == 'scons' }}
shell: bash
run: |
python -c "import sys; print(sys.version)"
python -m pip install scons==${{ inputs.scons-version }}
scons --version

- name: Install Ninja
if: ${{ inputs.buildtool == 'cmake' }}
uses: ashutoshvarma/setup-ninja@master
195 changes: 195 additions & 0 deletions .github/workflows/ci-cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
name: Continuous integration
on:
workflow_call:

env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: master
# Used to select the version of Godot to run the tests with.
GODOT_TEST_VERSION: master
# Use UTF-8 on Linux.
LANG: en_US.UTF-8
LC_ALL: en_US.UTF-8

concurrency:
group: ci-cmake-${{ github.actor }}-${{ github.head_ref || github.run_number }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-cmake:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
env:
EM_VERSION: 3.1.39
config-flags:
-DCMAKE_C_COMPILER_LAUNCHER=sccache
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache
-DGODOTCPP_ENABLE_TESTING=ON
-DGODOTCPP_BUILD_PROFILE="test/build_profile.json"
SCCACHE_GHA_ENABLED: "true"

strategy:
fail-fast: false
matrix:
include:
- name: 🐧 Linux (GCC, Makefiles)
os: ubuntu-22.04
platform: linux
config-flags: -DCMAKE_BUILD_TYPE=Release
artifact-name: godot-cpp-linux-glibc2.27-x86_64-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.linux.template_release.x86_64.a
run-tests: true

- name: 🐧 Linux (GCC, Makefiles, Double Precision)
os: ubuntu-22.04
platform: linux
config-flags: -DCMAKE_BUILD_TYPE=Release -DGODOTCPP_PRECISION=double
artifact-name: godot-cpp-linux-glibc2.27-x86_64-double-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.linux.template_release.double.x86_64.a
flags: precision=double
run-tests: false

- name: 🏁 Windows (x86_64, MSVC)
os: windows-2019
platform: windows
compiler: msvc
build-flags: --config Release
artifact-name: godot-cpp-windows-msvc2019-x86_64-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.windows.template_release.x86_64.lib
run-tests: false

- name: 🏁 Windows (x86_64, MinGW, Ninja)
os: windows-2019
platform: windows
compiler: mingw
config-flags:
-GNinja -DCMAKE_BUILD_TYPE=Release
-DCMAKE_CXX_COMPILER=cc -DCMAKE_CXX_COMPILER=c++
artifact-name: godot-cpp-linux-mingw-x86_64-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.windows.template_release.x86_64.a
run-tests: false

- name: 🍎 macOS (universal, Makefiles)
os: macos-latest
platform: macos
config-flags: -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
artifact-name: godot-cpp-macos-universal-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.macos.template_release.universal.a
run-tests: false

- name: 🤖 Android (arm64, Ninja)
os: ubuntu-22.04
platform: android
config-flags:
-G Ninja -DCMAKE_BUILD_TYPE=Release
--toolchain ${ANDROID_HOME}/ndk/23.2.8568313/build/cmake/android.toolchain.cmake
-DANDROID_PLATFORM=21 -DANDROID_ABI=arm64-v8a
artifact-name: godot-cpp-android-arm64-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.android.template_release.arm64.a
flags: arch=arm64
run-tests: false

- name: 🍏 iOS (arm64, XCode)
os: macos-latest
platform: ios
config-flags:
-G Xcode
--toolchain cmake/ios.toolchain.cmake
-DPLATFORM=OS64
build-flags: --config Release
artifact-name: godot-cpp-ios-arm64-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.ios.template_release.arm64.a
flags: arch=arm64
run-tests: false

- name: 🌐 Web (wasm32, Ninja)
os: ubuntu-22.04
platform: web
config-flags:
-G Ninja -DCMAKE_BUILD_TYPE=Release
--toolchain ${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
artifact-name: godot-cpp-web-wasm32-release.cmake
artifact-path: cmake-build/bin/libgodot-cpp.web.template_release.wasm32.a
run-tests: false

steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- name: Run sccache-cache
uses: mozilla-actions/[email protected]

- name: Setup godot-cpp
uses: ./.github/actions/setup-godot-cpp
with:
platform: ${{ matrix.platform }}
windows-compiler: ${{ matrix.compiler }}
buildtool: cmake

- name: Configure godot-cpp-test with template_debug
run: >
cmake --log-level=VERBOSE -S . -B cmake-build ${{ env.config-flags }} ${{ matrix.config-flags }}

- name: Build godot-cpp-test (template_debug)
run: >
cmake --build cmake-build --verbose --target godot-cpp-test ${{ matrix.build-flags }}

- name: Configure godot-cpp-test with template_release
run: >
cmake --fresh --log-level=VERBOSE -S . -B cmake-build
-DGODOTCPP_TARGET=template_release ${{ env.config-flags }} ${{ matrix.config-flags }}

- name: Build godot-cpp-test (template_release)
run: >
cmake --build cmake-build --verbose --target godot-cpp-test ${{ matrix.build-flags }}

- name: Run sccache stat for check
shell: bash
run: ${SCCACHE_PATH} --show-stats

- name: Download latest Godot artifacts
uses: dsnopek/action-download-artifact@1322f74e2dac9feed2ee76a32d9ae1ca3b4cf4e9
if: matrix.run-tests && env.GODOT_TEST_VERSION == 'master'
with:
repo: godotengine/godot
branch: master
event: push
workflow: linux_builds.yml
workflow_conclusion: success
name: linux-editor-mono
search_artifacts: true
check_artifacts: true
ensure_latest: true
path: godot-artifacts

- name: Prepare Godot artifacts for testing
if: matrix.run-tests && env.GODOT_TEST_VERSION == 'master'
run: |
chmod +x ./godot-artifacts/godot.linuxbsd.editor.x86_64.mono
echo "GODOT=$(pwd)/godot-artifacts/godot.linuxbsd.editor.x86_64.mono" >> $GITHUB_ENV

- name: Download requested Godot version for testing
if: matrix.run-tests && env.GODOT_TEST_VERSION != 'master'
run: |
wget "https://github.com/godotengine/godot-builds/releases/download/${GODOT_TEST_VERSION}/Godot_v${GODOT_TEST_VERSION}_linux.x86_64.zip" -O Godot.zip
unzip -a Godot.zip
chmod +x "Godot_v${GODOT_TEST_VERSION}_linux.x86_64"
echo "GODOT=$(pwd)/Godot_v${GODOT_TEST_VERSION}_linux.x86_64" >> $GITHUB_ENV

- name: Run tests
if: matrix.run-tests
run: |
$GODOT --headless --version
cd test
# Need to run the editor so .godot is generated... but it crashes! Ignore that :-)
(cd project && (timeout 30 $GODOT --import --headless >/dev/null 2>&1 || true))
./run-tests.sh

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact-name }}
path: ${{ matrix.artifact-path }}
if-no-files-found: error
75 changes: 8 additions & 67 deletions .github/workflows/ci.yml → .github/workflows/ci-scons.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ env:
LC_ALL: en_US.UTF-8

concurrency:
group: ci-${{ github.actor }}-${{ github.head_ref || github.run_number }}-${{ github.ref }}
group: ci-scons-${{ github.actor }}-${{ github.head_ref || github.run_number }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
build-scons:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
Expand Down Expand Up @@ -108,34 +108,12 @@ jobs:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true

- name: Set up Python (for SCons)
uses: actions/setup-python@v5
- name: Setup godot-cpp
uses: ./.github/actions/setup-godot-cpp
with:
python-version: 3.x

- name: Android dependencies
if: matrix.platform == 'android'
uses: nttld/setup-ndk@v1
with:
ndk-version: r23c
link-to-sdk: true

- name: Web dependencies
if: matrix.platform == 'web'
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{ env.EM_VERSION }}
no-cache: true

- name: Setup MinGW for Windows/MinGW build
if: matrix.platform == 'windows' && matrix.flags == 'use_mingw=yes'
uses: egor-tensin/setup-mingw@v2
with:
version: 12.2.0

- name: Install scons
run: |
python -m pip install scons==4.0.0
platform: ${{ matrix.platform }}
windows-compiler: ${{ contains(matrix.flags, 'use_mingw=yes') && 'mingw' || 'msvc' }}
buildtool: scons

- name: Generate godot-cpp sources only
run: |
Expand Down Expand Up @@ -201,45 +179,8 @@ jobs:
./run-tests.sh

- name: Upload artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact-name }}
path: ${{ matrix.artifact-path }}
if-no-files-found: error

linux-cmake-ninja:
name: 🐧 Build (Linux, GCC, CMake Ninja)
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qqq build-essential pkg-config cmake ninja-build

- name: Build test GDExtension library
run: |
mkdir cmake-build
cd cmake-build
cmake ../ -DTEST_TARGET=template_release
cmake --build . --verbose -j $(nproc) -t godot-cpp-test --config Release

windows-msvc-cmake:
name: 🏁 Build (Windows, MSVC, CMake)
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- name: Build test GDExtension library
run: |
mkdir cmake-build
cd cmake-build
cmake ../ -DTEST_TARGET=template_release
cmake --build . --verbose -t godot-cpp-test --config Release
Loading
Loading