Thaddeus Crews
b03f7d108e
SCons: Isolate compile_db generation
...
• Enable generating just the compilation file via `compiledb_gen_only`
2026-01-31 15:50:56 -06:00
Hugo Locurcio
e13bf94a5f
Improve errors for invalid build_profile SCons options
...
- Use a colored print when the file isn't found.
- Mention that the file is invalid JSON in the decoding error,
and mention the location of the error.
2026-01-22 03:51:06 +01:00
Mikael Hermansson
74ffb69b0e
Make memory profiling optional
2025-12-09 19:11:39 +01:00
Thaddeus Crews
63e14e13f9
Merge pull request #111767 from Repiteo/scons/libcpp-transitive
...
SCons: Remove transitive includes in `libc++`
2025-12-03 21:02:01 -06:00
Stuart Carnie
93b6348cfe
Core: Add Apple Instruments support
2025-12-03 06:48:41 +11:00
Rémi Verschelde
51be9b5f1c
SCons: Fix logic when passing optimize=auto explicitly from command-line
...
- Fixes #113119 .
2025-11-24 19:24:47 +01:00
Thaddeus Crews
ad02128137
SCons: Remove transitive includes in libc++
2025-11-23 11:09:21 -06:00
Thaddeus Crews
04bc282ae7
Merge pull request #104851 from Ivorforce/tracy
...
Add `profiler` option to `SCons` builds, with support for `tracy` and `perfetto`.
2025-11-12 11:24:15 -06:00
Lukas Tenbrink
e80194e31f
Add profiler option to SCons builds.
...
Add `tracy` option to `profiler`. If set, a tracy profiling client will be injected into the Godot binary.
# Conflicts:
# platform/linuxbsd/godot_linuxbsd.cpp
2025-11-08 00:08:45 +01:00
Pāvels Nadtočajevs
29da94290f
Disable some unsafe CLI arguments in template builds by default.
2025-11-03 12:21:42 +02:00
Pāvels Nadtočajevs
bc85da65a5
[macOS] Update clang version check.
2025-10-25 22:41:40 +03:00
Thaddeus Crews
8f4d8dfd2d
Merge pull request #111411 from akien-mga/scons-disable-fast_unsafe-on-dev_build
...
SCons: Don't activate `fast_unsafe` automatically on `dev_build`
2025-10-08 13:56:37 -05:00
Thaddeus Crews
0091d30e3e
Merge pull request #108818 from bruvzg/no_cli_over
...
Add project setting and build option to disable `override.cfg` and related CLI arguments.
2025-10-08 13:56:35 -05:00
Thaddeus Crews
7c033002b0
Merge pull request #110863 from kisg/libgodot_migeran_core
...
LibGodot: Core - Build Godot Engine as a Library
2025-10-08 13:56:34 -05:00
Rémi Verschelde
fa57282a1e
SCons: Don't activate fast_unsafe automatically on dev_build
...
We experienced first hand why it's called unsafe, and so we should leave it
as an explicit choice for contributors, informing themselves of the caveats.
See #111408 .
2025-10-08 15:48:12 +02:00
Gergely Kis
6c44c80c62
LibGodot: Core - Build Godot Engine as a Library
...
* Add a new GodotInstance GDCLASS that provides startup and iteration commands to control a Godot instance.
* Adds a libgodot_create_godot_instance entry point that creates a new Godot instance and returns a GodotInstance object.
* Adds a libgodot_destroy_godot_instance entry point that destroys the Godot instance.
Sample Apps: https://github.com/migeran/libgodot_project
Developed by [Migeran](https://migeran.com )
Sponsors & Acknowledgements:
* Initial development sponsored by [Smirk Software](https://www.smirk.gg/ )
* Rebasing to Godot 4.3 and further development sponsored by [Xibbon Inc.](https://xibbon.com )
* The GDExtension registration of the host process & build system changes were based
on @Faolan-Rad's LibGodot PR: https://github.com/godotengine/godot/pull/72883
* Thanks to Ben Rog-Wilhelm (Zorbathut) for creating a smaller, minimal version for easier review.
* Thanks to Ernest Lee (iFire) for his support
Co-Authored-By: Gabor Koncz <gabor.koncz@migeran.com >
Co-Authored-By: Ben Rog-Wilhelm <zorba-github@pavlovian.net >
2025-10-07 02:15:41 +02:00
Thaddeus Crews
b17aa3343a
Revert "SCons: Add CPPEXTPATH for external includes"
2025-10-06 13:09:22 -05:00
Pāvels Nadtočajevs
1211cd827e
Add project setting and build option to disable override.cfg and related CLI arguments.
2025-10-05 21:47:57 +03:00
Lukas Tenbrink
712bc99668
Add STATIC_ASSERT_INCOMPLETE_TYPE to enforce include minimality.
...
Add enforcements against `Dictionary` for `ustring.h` and two for `Dictionary` and `String` from `array.h`.
2025-10-01 23:46:35 +02:00
Thaddeus Crews
ab134b386a
Merge pull request #106218 from Nintorch/master
...
Add support for SDL3 joystick input driver for Windows, Linux and macOS
2025-06-24 18:34:28 -05:00
Nintorch
0b3496fb4f
Add support for SDL3 joystick input driver
...
Made possible by EIREXE, xsellier and the SDL team.
This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com >
Co-authored-by: Xavier Sellier <xsellier@gmail.com >
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-06-25 01:28:50 +02:00
Travis Lange
7752cfecba
pass -mpopcnt when using clang / llvm and targeting x86_64 arch to support popcnt forceinline methods
2025-06-24 10:30:51 -04:00
Hugo Locurcio
be1f9a878b
Use SSE 4.2 as a baseline when compiling Godot
...
This lets the compiler do more optimizations, leading to increased
performance for demanding CPU tasks.
2025-05-30 23:49:47 +02:00
Ricardo Sanchez-Saez
457299449d
Introduce 'drivers/apple_embedded' abstract platform for code reuse
2025-05-19 15:37:13 -07:00
Rémi Verschelde
f09ffeedd0
SCons: Don't enable -Wenum-conversion for GCC < 11
...
This warning was introduced in GCC 10 but only for C/Obj-C.
In GCC 11 it seems to have been made compatible with C++.
Also restrict -Wno-return-type to GCC 12, that regression
was fixed in GCC 13.
2025-05-06 10:06:01 +02:00
Daniel Kinsman
a0cc41b5ed
Use libjpeg-turbo for improved jpg compatibility and speed
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com >
2025-05-02 11:47:56 +02:00
Adam Scott
1fbc0c5631
[Buildsystem] Add EnumVariable(ignorecase=2)
2025-04-29 13:35:40 -04:00
Thaddeus Crews
2242bf9b3d
Merge pull request #105697 from akien-mga/scons-x86_32-mfpmath-sse
...
SCons: Explicitly enable `-mfpmath=sse -mstackrealign` for x86_32
2025-04-28 10:01:31 -05:00
Thaddeus Crews
dc9c34f0c6
SCons: Add enum conversion warning
2025-04-26 12:06:20 -05:00
Thaddeus Crews
007717faf9
SCons: Remove check_c_headers
...
• Can instead check for headers directly with `__has_include`, a C++17 feature
2025-04-25 11:30:39 -05:00
Rémi Verschelde
08fa148310
SCons: Explicitly enable -mfpmath=sse -mstackrealign for x86_32
...
Passing `-msse2` doesn't seem to be sufficient to opt into SSE floating point math
instead of the less stable x87.
`-mstackrealign` also seems necessary when using SSE on x86_32.
2025-04-24 12:36:29 +02:00
Adam Scott
f6efd88cda
Add {c,cpp}_compiler_launcher options
2025-04-17 12:27:44 -04:00
Pāvels Nadtočajevs
4310cb82b8
AccessKit integration for macOS, Linux, and Windows.
2025-04-08 20:25:47 +03:00
Thaddeus Crews
01f0bd36a4
SCons: Integrate WARNLEVEL & OPTIMIZELEVEL
2025-04-03 18:10:29 -05:00
Aaron Franke
2800948d61
Organize ifdefs for disabling navigation, physics, and XR
2025-04-02 08:24:24 -07:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features
2025-04-01 11:53:35 -03:00
Rémi Verschelde
a2f200c5d6
SCons: Only set GCC -Wvirtual-inheritance for C++ and warnings=extra
2025-03-31 23:46:42 +02:00
Michael Alexsander
5ad414d046
Allow to compile templates without physics servers
2025-03-28 11:00:44 -03:00
Rémi Verschelde
3886fd1422
Merge pull request #104617 from Repiteo/scons/color-refactor
...
SCons: Refactor `color.py`
2025-03-28 14:33:19 +01:00
Lukas Tenbrink
dd9dc75a83
Optimize Object::cast_to by assuming no virtual and multiple inheritance, gaining 8x throughput over dynamic_cast.
...
Add `-Wvirtual-inheritance` to compiler warnings as a sanity check.
2025-03-27 15:39:53 +01:00
Thaddeus Crews
2b1f463de5
SCons: Refactor color.py
2025-03-25 12:27:35 -05:00
Thaddeus Crews
b6e947ddba
Merge pull request #104148 from YeldhamDev/scons_move_env_checks
...
Make SConstruct file check some envs before querying modules
2025-03-18 14:42:46 -05:00
Yyf2333
b28d6d1fa3
Don't inline certain functions for smaller binary size.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com >
2025-03-18 21:40:25 +08:00
Thaddeus Crews
10ed66f28c
SCons: Add emitter to declutter build objects
2025-03-15 12:08:24 -05:00
Michael Alexsander
f1304a3dfb
Make SConstruct file check some envs before querying modules
2025-03-14 17:38:28 -03:00
Thaddeus Crews
be429eb404
SCons: Make builders prettier, utilize constexpr
2025-03-11 18:31:20 -05:00
Thaddeus Crews
67d4a245d8
Merge pull request #103267 from YeldhamDev/reality_got_too_extended
...
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06:00
Thaddeus Crews
2949ab0707
SCons: Implement minor fixes
2025-03-01 08:53:53 -06:00