godot/core/object
reduz 6236a688b7 Implement Feature Build Profiles
This PR is a continuation of #50381 (which was implemented exactly a year ago!)

* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.

Obligatory Screen:

A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size

TODO:

* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.

In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
..
callable_method_pointer.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
callable_method_pointer.h Add callable_mp_static 2022-05-22 15:36:34 +02:00
class_db.cpp Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
class_db.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
make_virtuals.py Fix typos with codespell 2022-03-31 14:07:29 +02:00
message_queue.cpp Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
message_queue.h Zero initialize all pointer class and struct members 2022-04-04 19:49:50 +02:00
method_bind.cpp Clean up Hash Functions 2022-06-20 12:54:19 +02:00
method_bind.h Implement varargs in Methodinfo 2022-06-23 14:50:38 +02:00
object_id.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
object.cpp GDExtension: reuse code with constructor PropertyInfo(const GDNativePropertyInfo&) 2022-06-29 19:30:01 +02:00
object.h Implement Feature Build Profiles 2022-07-22 10:53:23 +02:00
ref_counted.cpp Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
ref_counted.h Remove RES and REF typedefs in favor of spelled out Ref<> 2022-05-03 01:43:50 +02:00
script_language_extension.cpp Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
script_language_extension.h Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
script_language.cpp Add a const call mode to Object, Variant and Script. 2022-06-27 13:33:06 -07:00
script_language.h Add support for documenting built-in annotations 2022-07-04 20:21:39 +03:00
SCsub Implement native extension system 2021-06-25 17:32:45 -03:00
undo_redo.cpp Make vararg method bind no return and return 2022-03-30 11:43:12 +02:00
undo_redo.h Make vararg method bind no return and return 2022-03-30 11:43:12 +02:00