119 Commits

Author SHA1 Message Date
71b5b84fb1 [Bindings] Build profile now strips methods and skip files
This allows removing dependencies that are not explicitly unused by the
gdextension being built and is implemented using an intermediate json
API file with the methods and classes stripped (i.e. without touching
the file generators).

(cherry picked from commit c4f1abe3f9)
2025-01-27 15:58:30 -06:00
810b0ce13e SCons: Don't cache librarys
(cherry picked from commit 83c0f15ab9)
2024-10-28 16:23:17 -05:00
fd31fabcfc Add a test to ensure that library path is absolute
(cherry picked from commit 92ace04989)
2024-09-03 17:17:08 -05:00
aeb8be98ed [SCons] Add option to build without threads
This is relevant for the Web platform, where builds with and without
threads are incompatible.

(cherry picked from commit b0296bb562)
2024-09-03 17:10:30 -05:00
a0d56336c3 [4.2] Fix missing MAKE_TYPED_ARRAY_INFO for Packed*Arrays 2024-08-22 21:04:51 -07:00
c35e7545b7 Integrate .pre-commit-config.yaml
(cherry picked from commit e0d363aad8)
2024-07-17 09:17:36 -05:00
1a22e43075 Fix #include formatting
(cherry picked from commit 999018e7d1)
2024-07-17 09:14:04 -05:00
528b7801d2 Add support for build profiles.
Allow enabling or disabling specific classes (which will not be built).

(cherry picked from commit 1186c488bd)
2024-07-17 09:06:07 -05:00
18354f9b9b Clean up instance bindings for engine singletons to prevent crash
(cherry picked from commit 88df025aa0)
2024-05-17 16:40:13 -05:00
ddfcca62a8 Correctly handle Object * arguments that were encoded as nullptr
(cherry picked from commit 37542dc2ec)
2024-05-17 16:34:41 -05:00
fc5366c026 Use GDREGISTER defines in example
(cherry picked from commit a537b4af4d)
2024-04-17 11:08:14 -05:00
ef723ca9ec Change cmake_minimum_required to match actual requirements
This is because target_link_options was added in v3.13
So this wouldn't build with cmake v3.12

Likewise in CMAKE_CXX_STANDARD only supports value of 17 starting with
cmake v3.9
So the test wouldn't build properly with cmake v3.6

(cherry picked from commit 5c12bd2287)
2024-04-08 11:49:53 -05:00
a07b1f6e07 [Packed*Array] Add support for initializer lists.
(cherry picked from commit 8c98a90f32)
2024-04-08 11:44:28 -05:00
7ddd278dea Fix _notification with parent and child classes
(cherry picked from commit 23c010900c)
2024-03-11 12:50:43 -05:00
dc76664cea Rework GDCLASS macro to allow pure virtual functions
(cherry picked from commit 5f350e2572)
2024-01-22 15:30:04 -06:00
b03e56922d CMake: Remove hardcoded warnings list and forcing -Werror on library builds
The CMake buildsystem should be completely reviewed to properly match
what is done by SCons, instead of making its own arbitrary decisions on
how godot-cpp should be compiled.

Currently the SCons setup doesn't include warning options, so CMake
shouldn't either. Options similar to upstream Godot's SCons setup could
be added, and then replicated for CMake.

(cherry picked from commit 41517eacb1)
2023-12-12 13:47:21 +01:00
20c4e843b0 Send NOTIFICATION_POSTINITIALIZE to extension classes 2023-11-29 12:00:43 -06:00
f426b12b5b Fix comparison of Callables from callable_mp() of the same method 2023-11-17 12:49:53 -06:00
4439a4a569 Merge pull request #1280 from dsnopek/callable-custom
Add `CallableCustom` that devs can use in their GDExtensions
2023-11-17 12:48:39 -06:00
29b34d92bb [iOS] Fix building as static library or xcframework, add iOS config and xcframework build script to the test project. 2023-11-09 20:01:59 +02:00
d33bd47219 Add CallableCustom that devs can use in their GDExtensions 2023-11-06 00:09:06 -06:00
1ab94699c5 Merge pull request #1277 from dsnopek/variant-iter-tests
Add an automated test using a Variant iterator
2023-10-24 22:30:42 +02:00
edb52293d9 Merge pull request #1278 from dsnopek/gdextension-callable-bind-test
Add test for `Callable.bind()`
2023-10-22 10:07:09 -05:00
bf1c03ab5f SCons: Disable C++ exception handling by default
Counterpart to https://github.com/godotengine/godot/pull/80612.
2023-10-22 12:45:46 +02:00
421c61e730 Add test for Callable.bind() 2023-10-21 17:42:10 -05:00
d733663e8b Add an automated test using a Variant iterator 2023-10-20 12:58:00 -05:00
18bfa133ab [SCons] Rename javascript tool to web
And clean it up a bit.
2023-10-15 13:12:49 +02:00
96bec613a0 Merge pull request #1247 from nicholas-maltbie/nickmaltbie/javascript-wasm-fix
Javascript Web WASM Fix
2023-10-04 09:58:01 -05:00
2b4bcbb0ce Added fix for javascript build for godot 4.x
Added changes to tools/javascript.py to add PFlags to fix SharedArrayBuffer memory error.
Corrected some small errors in tools/javascript.py to support new target names.
Also updated ci to include validation for web build.
2023-10-01 13:43:19 -07:00
c18c1916c3 Implement callable_mp() and callable_mp_static() 2023-09-21 15:17:50 -05:00
4314f91b7d Merge pull request #1238 from dsnopek/variant-call-callp
Fix variant call compiler error (alternate)
2023-09-21 15:07:05 -05:00
aa6867e6c9 Support _validate_property() 2023-09-12 13:21:16 -05:00
ca3e25de04 Fix variant call compiler error
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-09-09 11:30:29 -05:00
b3596a18e1 Fix formatting of compatibility_minimum examples
Without quotes the values is parsed as a float, breaking in various
cases.
2023-08-31 12:45:11 +02:00
d5fab0b9f8 Add automated tests to verify some previous fixes 2023-08-14 20:48:51 -05:00
8bc1c1dbeb Implement String::resize() 2023-07-31 15:14:10 -05:00
3162be28e5 Merge pull request #1150 from dsnopek/charstring-full
Attempt to fully implement CharString
2023-07-22 09:04:27 -05:00
155f2e2a62 Add RPC tests. 2023-06-30 15:07:42 +02:00
4df112cd95 Attempt to fully implement CharString 2023-06-22 21:03:30 -05:00
d12cf071bb Merge pull request #1128 from Mathis-Z/master
Fixing #1127 by making return types of auto-generated functions dynamic
2023-06-08 22:31:51 +02:00
ac98dd2752 Fixing #1127 by making return types of auto-generated functions dynamic 2023-06-08 20:35:29 +02:00
ad726015e7 Revert the changes from PR #1044 and #1045 and standardize on Object ** encoding in ptrcall 2023-06-07 08:30:33 -05:00
1fd3f82d3a Add automated tests that run a GDExtension (rather than just building it) 2023-05-17 14:08:12 -05:00
a5c6ca5920 Update to load function pointers for GDExtension interface 2023-05-09 21:45:48 -05:00
e72bc1a12f Merge pull request #1028 from asmaloney/fix-improper-conversion
Fix improper implicit conversion
2023-02-07 13:48:54 +01:00
b01f0cf99b ExampleRef::get_id() should be const 2023-02-02 13:01:31 -05:00
f2cb5a7414 Fix improper implicit conversion 2023-02-02 11:30:37 -05:00
f59fd96ab4 Merge pull request #1013 from bruvzg/set_typed_move
Move Array:set_typed to internal GDExtension structure.
2023-01-30 12:31:38 +01:00
40d3cfd97b Move Array:set_typed to internal GDExtension structure. 2023-01-30 13:27:25 +02:00
6528c7177f Fixed variant casting for enum and bitfield 2023-01-20 21:10:03 +03:00