Commit graph

47307 commits

Author SHA1 Message Date
Rémi Verschelde
39facb35a0 SCons: Unify tools/target build type configuration
Implements https://github.com/godotengine/godot-proposals/issues/3371.

New `target` presets
====================

The `tools` option is removed and `target` changes to use three new presets,
which match the builds users are familiar with. These targets control the
default optimization level and enable editor-specific and debugging code:

- `editor`: Replaces `tools=yes target=release_debug`.
  * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_debug`: Replaces `tools=no target=release_debug`.
  * Defines: `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_release`: Replaces `tools=no target=release`.
  * Defines: `-O3`/`/O2`

New `dev_build` option
======================

The previous `target=debug` is now replaced by a separate `dev_build=yes`
option, which can be used in combination with either of the three targets,
and changes the following:

- `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`),
  enables generating debug symbols, does not define `NDEBUG` so `assert()`
  works in thirdparty libraries, adds a `.dev` suffix to the binary name.

Note: Unlike previously, `dev_build` defaults to off so that users who
compile Godot from source get an optimized and small build by default.
Engine contributors should now set `dev_build=yes` in their build scripts or
IDE configuration manually.

Changed binary names
====================

The name of generated binaries and object files are changed too, to follow
this format:

`godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]`

For example:
- `godot.linuxbsd.editor.dev.arm64`
- `godot.windows.template_release.double.x86_64.mono.exe`

Be sure to update your links/scripts/IDE config accordingly.

More flexible `optimize` and `debug_symbols` options
====================================================

The optimization level and whether to generate debug symbols can be further
specified with the `optimize` and `debug_symbols` options. So the default
values listed above for the various `target` and `dev_build` combinations
are indicative and can be replaced when compiling, e.g.:

`scons p=linuxbsd target=template_debug dev_build=yes optimize=debug`
will make a "debug" export template with dev-only code enabled, `-Og`
optimization level for GCC/Clang, and debug symbols. Perfect for debugging
complex crashes at runtime in an exported project.
2022-09-26 16:31:46 +02:00
Rémi Verschelde
b9a64c7736 Merge pull request #60313 from BastiaanOlij/xr_hand_tracking
Adding OpenXR hand tracking support
2022-09-26 15:51:31 +02:00
Rémi Verschelde
6fcf2a2862 Merge pull request #61336 from KoBeWi/where_are_you_going
Force window position if spawned outside screen
2022-09-26 15:51:22 +02:00
Rémi Verschelde
9cc4511031 Merge pull request #66434 from bruvzg/rtl_fix_def_ot
[RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed.
2022-09-26 15:51:13 +02:00
Rémi Verschelde
59f6233075 Merge pull request #66416 from MewPurPur/dependency-editor-improvements
Add ability to open multiple scenes in the Dependency Editor
2022-09-26 15:51:07 +02:00
Rémi Verschelde
1e14795f75 Merge pull request #66382 from MewPurPur/replace-in-files-forever
Make Replace in Files always visible in Search
2022-09-26 15:51:01 +02:00
Rémi Verschelde
46635342a1 Merge pull request #66309 from RedMser/focus-search-bar-scene-tree-dialog
focus search bar by default
2022-09-26 15:50:52 +02:00
Rémi Verschelde
a587c0a45a Merge pull request #66366 from asmaloney/script-fix-redundant-if
_parse_function()
2022-09-26 15:50:46 +02:00
Rémi Verschelde
fa85821199 Merge pull request #66301 from GuilhermeGSousa/fix-animation-transition-expressions
Fix expression base path on transitions
2022-09-26 15:50:32 +02:00
Rémi Verschelde
926c1127e9 Merge pull request #66435 from akien-mga/style-header-guards-cleanup
Cleanup header guards for consistency
2022-09-26 15:48:56 +02:00
Yuri Rubinsky
581db8b4e6
Merge pull request #66432 from Chaosus/fix_fieldwise 2022-09-26 15:39:49 +03:00
Rémi Verschelde
49fcf4ffad Style: Cleanup header guards for consistency
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
kobewi
a4c3551dc6 Force window position if spawned outside screen 2022-09-26 13:44:25 +02:00
Yuri Rubinsky
e7e1f84854 Fix processing of some types in math_fieldwise.cpp/fieldwise_assign 2022-09-26 13:22:49 +03:00
bruvzg
970592274d
[RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed. 2022-09-26 13:04:40 +03:00
Bastiaan Olij
23d32c0e16 Adding OpenXR hand tracking support 2022-09-26 19:47:06 +10:00
Rémi Verschelde
3472bdd6b6 Merge pull request #65798 from kisg/dynamic_openxr_loader
Dynamic loading of OpenXR Loader on Android
2022-09-26 08:27:24 +02:00
Rémi Verschelde
48179f296a Merge pull request #66418 from bruvzg/font_fb_order
[TextServer] Always prefer main font over fallbacks, regardless of script/language support.
2022-09-26 08:24:54 +02:00
Rémi Verschelde
5ae6379e5d Merge pull request #66394 from bitbrain/fix-unshaded-canvas-modulate
Fix Unshaded CanvasItem for Vulkan
2022-09-26 08:24:45 +02:00
Rémi Verschelde
d437a5858e Merge pull request #66261 from Mickeon/extra-vector-testing
Add more tests for Vector* types
2022-09-26 08:24:13 +02:00
Rémi Verschelde
077d696592 Merge pull request #66423 from BastiaanOlij/trigger_shader_compilation_on_inc
Make dependencies with shader includes in subfolders
2022-09-26 08:23:32 +02:00
Rémi Verschelde
985fc6c5dc Merge pull request #65717 from Ithamar/feat-tga-16bits
Add 16-bits TGA support
2022-09-26 08:23:11 +02:00
Rémi Verschelde
1b31241445 Merge pull request #65540 from MewPurPur/easier-bookmarks
Implement Shift+LMB as a Way to Toggle Bookmarks
2022-09-26 08:20:40 +02:00
Rémi Verschelde
94d511f43b Merge pull request #64756 from Calinou/editor-rename-run-project-shortcuts
Rename editor run/pause/stop shortcuts and tooltips for consistency
2022-09-26 08:20:26 +02:00
Rémi Verschelde
c380c30c7f Merge pull request #66404 from KoBeWi/advancement
Remember advanced state of connection dialog
2022-09-26 08:20:12 +02:00
Rémi Verschelde
e406badafd Merge pull request #66405 from Rindbee/fix-gd-not-sync-via-lsp
Fix out of sync when the script is edited externally via lsp
2022-09-26 08:20:04 +02:00
Micky
ef8fbae929
Add more tests for Vector* types 2022-09-25 22:58:58 -05:00
Bastiaan Olij
56d6a13fd7 Make dependencies with shader includes in subfolders 2022-09-26 12:29:19 +10:00
VolTer
8b6ce982db Add ability to open multiple scenes in the Dependency Editor 2022-09-25 22:20:16 +02:00
bruvzg
8cdb482738
[TextServer] Always prefer main font over fallbacks, regardless of script/language support. 2022-09-25 23:07:30 +03:00
kobewi
bb458d82ea Remember advanced state of connection dialog 2022-09-25 20:22:44 +02:00
Hugo Locurcio
74b324c434
Rename editor run/pause/stop shortcuts and tooltips for consistency
The new naming better suits non-game applications and is more explicit.
2022-09-25 20:17:58 +02:00
Rindbee
412e87349a Fix out of sync when the script is edited externally via lsp
Previously, external editing via lsp would modify the modified time of the script,
which caused the internal display of the script to not be refreshed when refocusing
the engine.

Now saving the script externally via lsp will automatically refresh the internal
display.
2022-09-25 23:30:35 +08:00
Rémi Verschelde
ef26618359 Merge pull request #66290 from 4d49/physics2d-area-methods
add `area_get_collision_layer` &`area_get_collision_mask`
2022-09-25 17:08:55 +02:00
Rémi Verschelde
d456dce8af Merge pull request #65535 from RedMser/script-editor-inheritance-icon
Show override icon in script editor gutter
2022-09-25 17:08:45 +02:00
Rémi Verschelde
eae7d27578 Merge pull request #66233 from DorianSzlachcic/3-to-4-converter-issue
Prevent 3-to-4 project converter from adding extra line for move_and_slide
2022-09-25 17:05:47 +02:00
Rémi Verschelde
c1891c5e3c Merge pull request #66402 from smix8/navigation_pathquery_missing_doc_4.x
Add missing postprocessing doc for PathQueryParameters
2022-09-25 16:59:15 +02:00
Rémi Verschelde
3d1be58d92 Merge pull request #66395 from bfeber/patch-1
Fix compilation with custom "GODOT_VERSION_STATUS"
2022-09-25 16:53:43 +02:00
smix8
c87ad9d7c1 Add missing postprocessing doc for PathQueryParameters 2022-09-25 15:48:43 +02:00
Björn Feber
d4dba877d2
Fix compilation with custom "GODOT_VERSION_STATUS" 2022-09-25 13:26:47 +02:00
Miguel Gonzalez Sanchez
125f0be8b7
do not apply modulate on canvas when unshaded is set 2022-09-25 12:13:46 +01:00
Mansur Isaev
efd4dc20a3 Add area_get_collision_layer and area_get_collision_mask 2022-09-25 14:34:35 +04:00
DorianSzlachcic
bf6d84b8bb Prevent 3-to-4 project converter from adding extra line for move_and_slide
Fixes #66054
2022-09-25 11:54:33 +02:00
Rémi Verschelde
15ac442247 Merge pull request #63224 from Rindbee/update-GDScript-cache
Load/update GDScript from disk on load if cache mode is CACHE_MODE_IGNORE
2022-09-25 11:28:45 +02:00
Rémi Verschelde
fd62fbcf8c Merge pull request #66378 from nikitalita/patch-1
Fix `tools=no` compile when `vsproj=yes`
2022-09-25 11:27:00 +02:00
Rémi Verschelde
f3d763011f Merge pull request #63109 from OverloadedOrama/fix-input-event-action
Fix `InputEventAction`'s `is_match` method ignoring `exact_match` parameter
2022-09-25 11:06:38 +02:00
Rémi Verschelde
919d8b3711 Merge pull request #65290 from requizm/fix/65081/cannot_set_escape
Disabled "Escape" button when closing the shortcut window
2022-09-25 11:06:18 +02:00
Rémi Verschelde
4e81b68ed2 Merge pull request #66306 from Razoric480/raz/null-string
Prevent a crash in the LSP when a function's return datatype is not resolved
2022-09-25 11:05:26 +02:00
Rémi Verschelde
a5b538bdb2 Merge pull request #66289 from Rindbee/fix-scene-export
Fix sub-scene root nodes not getting the correct inheritance chain when exporting
2022-09-25 11:04:45 +02:00
Rémi Verschelde
56c7305f70 Merge pull request #66288 from bruvzg/te_fix_color
[TextEdit] Use error/selection font color for the current glyph only, instead of updating cached font color.
2022-09-25 11:04:14 +02:00