Commit Graph

52 Commits (1009da4d7e395abadfdb454cff6623e9456181c4)

Author SHA1 Message Date
David Snopek 1fd3f82d3a Add automated tests that run a GDExtension (rather than just building it) 2023-05-17 14:08:12 -05:00
bruvzg ba4b50118d
Fix incorrect memory allocation in release builds.
Co-authored-by: lightyears <lightyears1998@hotmail.com>
2023-02-21 15:32:26 +02:00
Ricardo Buring 47140cdad0 Rename float=64 build option to precision=double
This makes the build system consistent with Godot again.
Also fix CMake build to define REAL_T_IS_DOUBLE when precision=double.
2023-01-09 23:22:03 +01:00
Fabio Alessandrelli c0eaadac86
Merge pull request #903 from PapyChacal/build_library
Make build_library=no usable at godot-cpp's root
2022-12-19 23:03:17 +01:00
Emilien Bauer e52d4b6486 Remove gen from emitted files to solve circular dependency with build_library=no.
Use env variable to pass the output dir instead.
Add a CI step to guard regression on this. Clean the generated sources to avoid interfering with next steps.
2022-12-19 21:20:15 +00:00
Gilles Roudière c02e644679 Rename GDNative to GDExtension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension -> Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION -> EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:06:38 +01:00
Aaron Franke bcfa3bf320
Add more static checks and move to separate file to match main repo 2022-10-09 01:46:28 -05:00
Fabio Alessandrelli 64b2c9be0b [SCons] Refactor targets, symbols, optimizations.
Now matches Godot `master` target names and supports the same flags with
the following notable exceptions:
- The default target is "template_debug", since it's compatible with
  editor builds (and TOOLS_ENABLED is never used internally).
- separate_debug_symbols is still not supported, and will be done in a
  separate commit.
2022-10-04 16:05:40 +02:00
Fabio Alessandrelli d5e8675fd6 [CI] Add concurrency options and scons caching. 2022-09-19 16:56:29 +02:00
Rémi Verschelde bef1fa091c
Merge pull request #835 from Faless/build/4.x_opt_debug 2022-09-19 15:11:05 +02:00
Rémi Verschelde 7735ab48c4 CI: Make CMake builds use verbose output 2022-09-13 15:50:21 +02:00
Fabio Alessandrelli 2bf983e638 [SCons] Add "optimize" and "debug_symbols" options
optimize = auto|none|debug|speed|size|0|1|2|3
debug_symbol = True|False

optimize == "auto" will produce:
- "debug" for "debug" builds
- "speed" for "release" builds
2022-09-12 16:52:05 +02:00
Fabio Alessandrelli c263b3e38c Fix get_file_list not returning all generated files.
Adds a CI static check for it.
2022-09-11 21:39:06 +02:00
Aaron Franke 91fcde48d4
Add Godot 3.x ignores to the .gitignore file 2022-09-07 22:59:04 -05:00
Fabio Alessandrelli 0943dfc34a [CI] Fix Android builds after GH container update. 2022-07-28 06:30:04 +02:00
bruvzg 0ee980abae
Rename OSX to macOS. 2022-07-20 11:01:47 +03:00
Rémi Verschelde c7a30aec03 CI: Use setup-python@v4 2022-07-18 11:42:01 +02:00
Rémi Verschelde cdcd473371 SCons: Default `num_jobs` to max CPUs minus 1 if not specified
This doesn't change the behavior when `--jobs`/`-j` is specified as a
command-line argument or in `SCONSFLAGS`.

The SCons hack used to know if `num_jobs` was set by the user is derived
from the MongoDB setup.

We use `os.cpu_count()` for portability (available since Python 3.4).

With 4 CPUs or less, we use the max. With more than 4 we use max - 1 to
preserve some bandwidth for the user's other programs.
2022-07-17 12:37:13 +02:00
Fabio Alessandrelli 7901986dcf [SCons] Fix msvc, linux-clang, add version check. 2022-07-04 18:00:29 +02:00
Aaron Franke e5c4351bc7
Unify bits, android_arch, macos_arch ios_arch into arch, support non-x86
Unify arguments and add support for ARM64 and RV64 Linux
2022-06-01 13:00:25 -05:00
bruvzg e06d5cd414
Add double precision build support. 2022-05-04 15:56:35 +03:00
Fabio Alessandrelli b47dfb6a5c [CI] Add python file format to static checks.
Uses the same version of `black` as godot.
2022-05-02 21:13:56 +02:00
Fabio Alessandrelli 69aefe5c79 [CI] Remove duplicate builds.
Leftovers from the CI matrix PR.
2022-04-27 07:32:27 +02:00
dependabot[bot] 4963e6f3fc
Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-08 19:14:25 +00:00
Rémi Verschelde b869ef660f
Merge pull request #717 from godotengine/dependabot/github_actions/actions/checkout-3 2022-03-09 17:51:39 +01:00
Rémi Verschelde 3846201fbb CI: Install MinGW via `egor-tensin/setup-mingw`
Scoop install is being problematic since their 0.1.0 release.
2022-03-09 13:36:33 +01:00
dependabot[bot] 73ef81a8de Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 19:09:09 +00:00
dependabot[bot] 0987fd6b0e
Bump actions/setup-python from 2 to 3
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 19:07:08 +00:00
Nicolás Carrasco df87396cf3 Merge branch 'master' of https://github.com/godotengine/godot-cpp into test_cmake_windows 2022-02-20 22:59:56 +01:00
Fabio Alessandrelli 90b7d056ee [CI] Use matrix for builds. 2022-02-10 01:44:48 +01:00
Fabio Alessandrelli dcc52f4321 Library SCons boilerplate to build projects.
Works by executing project `SConstruct`s file in a cloned env (a bit
like Godot does for modules) so you don't have to worry about platform
and toolchain setup.

Convert the project test file to work as submodule, add it to CI

Run with:

```
scons build_projects=test,/path/to/other/project
```
2022-02-10 01:44:48 +01:00
Nicolás Carrasco f227a0179f Fix Test CMake project for Windows and parametrize paths 2022-01-26 20:12:05 +01:00
O01eg c5fd3d00d2
Test CMake project with CI (#518) 2021-12-24 01:29:21 +01:00
Bastiaan Olij 94efe3d410 Fixing compiler warnings around implicit type casting loosing precision 2021-11-22 21:48:20 +11:00
Fabio Alessandrelli 480ad9ffed [CI] Make OSX universal build instead 2 builds. 2021-09-29 22:35:09 +02:00
Fabio Alessandrelli 67f9109d1f [OSX] Add universal build support. 2021-09-29 22:31:12 +02:00
Rémi Verschelde bd82460780
CI: Disable test build to prepare for 4.0 extensions merge
It can't pass and fixing it in the heavily WIP extensions implementation
would be a hassle, it's better to readd tests once things are working.
2021-09-27 14:37:36 +02:00
Rémi Verschelde d9477fd0aa
CI: Run tests with Godot 3.3.3 2021-09-26 12:43:41 +02:00
Rémi Verschelde 4b6ab10c5d
CI: Update Linux runner to Ubuntu 18.04
Also cleanup needlessly specific dependencies.
2021-09-26 12:15:19 +02:00
Fabio Alessandrelli 5b8bcb7164 Add OSX arm64 build target.
New "macos_arch" to specify the desired arch, and "macos_sdk_path" to
override the default SDK path.
2021-07-07 11:08:33 +02:00
dependabot[bot] dbf3a13d0f
Bump actions/upload-artifact from 2.2.3 to 2.2.4 (#571)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-16 21:41:21 +02:00
dependabot[bot] eb8ae9dd51
Bump actions/upload-artifact from 2.2.2 to 2.2.3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.2...v2.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 05:48:34 +00:00
Rémi Verschelde 55c0a2ea03
Merge pull request #525 from vnen/update-clang-format
Update clang-format to version 11
2021-03-01 16:28:58 +01:00
dependabot[bot] ba526df7bd
Bump actions/upload-artifact from v2.2.1 to v2.2.2
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.2.1 to v2.2.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.1...e448a9b857ee2131e752b06002bf0e093c65e571)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-01 12:46:57 +00:00
George Marques cba90d6301
Update clang-format to version 11
This is taken from the Godot repository, so formatting is similar. This
updates the style rules as well.

Also fix style in files to conform with this version.
2021-02-28 16:57:34 -03:00
O01eg 279d63d6c5
Run script test 2021-02-07 00:13:58 +03:00
O01eg c55ef5adcf
Disable Windows compilation. 2021-02-06 23:19:40 +03:00
O01eg d6101538e6
Test build GNnative library in CI 2021-02-06 23:08:13 +03:00
Marc 925a47f65b
Merge pull request #502 from Zylann/clang_format_ci
Re-added clang-format checks to the CI
2021-02-03 22:13:03 +00:00
Marc Gilleron 1f7f66d09e Re-added clang-format checks to the CI 2021-02-03 22:04:45 +00:00