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