Commit Graph

124 Commits (0efc6cddbc051415cffd826df667d2b7cd918b37)

Author SHA1 Message Date
Fabio Alessandrelli 1186c488bd Add support for build profiles.
Allow enabling or disabling specific classes (which will not be built).
2024-06-15 16:19:41 +02:00
David Snopek 5d8f80bc55
Merge pull request #1446 from Daylily-Zeleen/daylily-zeleen/set_instance_and_instance_biding_in_Wrapped_constructor
Set instance and instance binding in `Wrapped` constructor.
2024-06-14 09:39:46 -05:00
David Snopek 4f7439d4cf Fix tests after upstream change to `Node::to_string()` 2024-06-12 09:22:14 -05:00
David Snopek 7f74fe7bb2 Fix undefined symbol error on Linux with virtual methods that take `Node *` arguments 2024-06-10 10:55:24 -05:00
Daylily-Zeleen 76cbc66785 Set instance and instance binding in Wrapped constructor. 2024-05-28 22:59:37 +08:00
David Snopek 340dde31a2
Merge pull request #1451 from Faless/build/to_threads_or_not_to_threads
[SCons] Add option to build without threads
2024-05-16 10:39:57 -05:00
David Snopek 88df025aa0 Clean up instance bindings for engine singletons to prevent crash 2024-05-10 19:51:31 -05:00
David Snopek a434850069 Allow submitting documentation to the Godot editor 2024-05-07 11:08:18 -05:00
Fabio Alessandrelli b0296bb562 [SCons] Add option to build without threads
This is relevant for the Web platform, where builds with and without
threads are incompatible.
2024-04-30 19:19:36 +02:00
David Snopek 2cd3d39108
Merge pull request #1405 from dsnopek/fix-null-object-arguments
Correctly handle `Object *` arguments that were encoded as `nullptr`
2024-04-29 16:46:46 -05:00
Thaddeus Crews a537b4af4d
Use `GDREGISTER` defines in example 2024-04-10 14:15:28 -05:00
David Snopek 37542dc2ec Correctly handle `Object *` arguments that were encoded as `nullptr` 2024-04-08 11:12:40 -05:00
ytnuf 5c12bd2287 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
2024-03-22 13:55:34 +00:00
A Thousand Ships fb79d5ff98
Add support for getting argument count from `Callable`s 2024-03-14 10:27:39 +01:00
David Snopek e6b6df5893
Merge pull request #1399 from bruvzg/init_list
[Packed*Array] Add support for initializer lists.
2024-03-12 14:30:38 -05:00
bruvzg 8c98a90f32
[Packed*Array] Add support for initializer lists. 2024-03-03 12:50:53 +02:00
David Snopek 23c010900c Fix _notification with parent and child classes 2024-02-22 14:39:50 -06:00
David Snopek fb884573ea Allow registering "runtime classes" 2024-02-13 08:55:25 -06:00
David Snopek 8fbb7cf795 Allow GDExtensions to register virtual methods and call them on scripts 2024-02-12 13:30:07 -06:00
Chris Cranford 5f350e2572 Rework GDCLASS macro to allow pure virtual functions 2024-01-18 20:14:13 -05:00
Rémi Verschelde 41517eacb1
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.
2023-12-01 10:45:07 +01:00
David Snopek 20c4e843b0 Send NOTIFICATION_POSTINITIALIZE to extension classes 2023-11-29 12:00:43 -06:00
David Snopek f426b12b5b Fix comparison of `Callable`s from callable_mp() of the same method 2023-11-17 12:49:53 -06:00
David Snopek 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
bruvzg 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
David Snopek d33bd47219 Add `CallableCustom` that devs can use in their GDExtensions 2023-11-06 00:09:06 -06:00
Rémi Verschelde 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
David Snopek edb52293d9
Merge pull request #1278 from dsnopek/gdextension-callable-bind-test
Add test for `Callable.bind()`
2023-10-22 10:07:09 -05:00
Rémi Verschelde 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
David Snopek 421c61e730 Add test for `Callable.bind()` 2023-10-21 17:42:10 -05:00
David Snopek d733663e8b Add an automated test using a Variant iterator 2023-10-20 12:58:00 -05:00
Fabio Alessandrelli 18bfa133ab [SCons] Rename javascript tool to web
And clean it up a bit.
2023-10-15 13:12:49 +02:00
David Snopek 96bec613a0
Merge pull request #1247 from nicholas-maltbie/nickmaltbie/javascript-wasm-fix
Javascript Web WASM Fix
2023-10-04 09:58:01 -05:00
Nick Maltbie 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
David Snopek c18c1916c3 Implement `callable_mp()` and `callable_mp_static()` 2023-09-21 15:17:50 -05:00
David Snopek 4314f91b7d
Merge pull request #1238 from dsnopek/variant-call-callp
Fix variant call compiler error (alternate)
2023-09-21 15:07:05 -05:00
David Snopek aa6867e6c9 Support `_validate_property()` 2023-09-12 13:21:16 -05:00
Matthew Murphy ca3e25de04 Fix variant call compiler error
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-09-09 11:30:29 -05:00
A Thousand Ships 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
David Snopek d5fab0b9f8 Add automated tests to verify some previous fixes 2023-08-14 20:48:51 -05:00
David Snopek 8bc1c1dbeb Implement `String::resize()` 2023-07-31 15:14:10 -05:00
David Snopek 3162be28e5
Merge pull request #1150 from dsnopek/charstring-full
Attempt to fully implement CharString
2023-07-22 09:04:27 -05:00
Fabio Alessandrelli 155f2e2a62 Add RPC tests. 2023-06-30 15:07:42 +02:00
David Snopek 4df112cd95 Attempt to fully implement CharString 2023-06-22 21:03:30 -05:00
Rémi Verschelde 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
Mathis-Z ac98dd2752 Fixing #1127 by making return types of auto-generated functions dynamic 2023-06-08 20:35:29 +02:00
David Snopek ad726015e7 Revert the changes from PR #1044 and #1045 and standardize on `Object **` encoding in ptrcall 2023-06-07 08:30:33 -05:00
David Snopek 1fd3f82d3a Add automated tests that run a GDExtension (rather than just building it) 2023-05-17 14:08:12 -05:00
David Snopek a5c6ca5920 Update to load function pointers for GDExtension interface 2023-05-09 21:45:48 -05:00
Rémi Verschelde e72bc1a12f
Merge pull request #1028 from asmaloney/fix-improper-conversion
Fix improper implicit conversion
2023-02-07 13:48:54 +01:00