1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00
Commit Graph

63 Commits

Author SHA1 Message Date
Thaddeus Crews
5c9f93ce03 SCons: Begin decoupling generation & build code 2025-04-25 08:23:01 -05:00
Thaddeus Crews
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
Thaddeus Crews
be429eb404 SCons: Make builders prettier, utilize constexpr 2025-03-11 18:31:20 -05:00
Pāvels Nadtočajevs
ec10d38d2f Update HarfBuzz to 10.4.0 2025-03-03 07:55:00 +02:00
Thaddeus Crews
73278bf35d SCons: Properly NoCache all text files 2025-01-16 16:59:12 -06:00
Rémi Verschelde
269b1dfa03 harfbuzz: Update to 10.1.0 2025-01-09 21:04:11 +01:00
Pāvels Nadtočajevs
3d60ce9389 [Export] Allow using ICU data from export templates instead of editor embedded data. 2025-01-07 08:15:09 +02:00
bruvzg
e698870caa Update ICU to 76.1 2024-10-24 22:47:59 +03:00
bruvzg
b6a369de79 Update HarfBuzz to 10.0.1 2024-10-01 08:20:45 +03:00
Thaddeus Crews
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
bruvzg
3156856aa1 Remove unnecessary DLL export attributes. 2024-08-12 09:53:05 +03:00
bruvzg
e74fea2864 Update ICU to 75.1 2024-05-14 12:38:52 +03:00
Rémi Verschelde
8fcc7a52dc harfbuzz: Update to 8.4.0 2024-04-05 10:35:10 +02:00
bruvzg
0d02568ff8 Update ICU and msdfgen. 2024-03-13 09:12:50 +02:00
Thaddeus Crews
fb299d0fb1 SCons: Ensure with statement where applicable 2024-03-10 12:57:57 -05:00
Thaddeus Crews
d9fa40f2df Enforce \n eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
bruvzg
5e55c6c611 ICU4C: Update to version 74.1 2023-11-01 08:56:12 +02:00
Martin Capitanio
aab650f2ef ThorVG: update to v0.11.0 release.
See https://github.com/thorvg/thorvg/releases/tag/v0.11.0

+ Infrastructure
    Repository folder structure was make it more intuitive and coherent.
        "thorvg/src/lib" -> "thorvg/src/common"
            (providing essential common functionalities
                used internally among the renderer and sub-modules)
        "thorvg/src/lib" -> "thorvg/src/renderer"
            (for vector drawing features)

+ SVG related
    Fix stroke regression https://github.com/thorvg/thorvg/issues/1670
    Support stroke dash offset function https://github.com/thorvg/thorvg/issues/1591#issuecomment-1681319321
    Support Focal property in Radial Gradient https://github.com/thorvg/thorvg/issues/1558
2023-09-29 19:50:19 +02:00
Rémi Verschelde
81949c2cd2 thorvg: Update to 0.10.7
Fixes #81618.
2023-09-26 22:43:44 +02:00
Rémi Verschelde
5282974c61 SCons: Fix ThorVG build option in TextServers with #80095 2023-08-17 13:40:19 +02:00
bruvzg
b64df2bf74 Update HarfBuzz, ICU and FreeType
HarfBuzz: Update to version 7.3.0
ICU4C: Update to version 73.1
FreeType: Update to version 2.13.0
2023-05-23 03:26:16 +03:00
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Pedro J. Estébanez
abc13dbd0b Update HarfBuzz to 7.1.0 2023-04-03 09:13:48 +02:00
Rémi Verschelde
e2fc0acd36 Fix includes of thirdparty libs which can be unbundled on Linux
Changes `builtin_icu` and `builtin_recast` to match the folder names in
`thirdparty`.
2023-02-16 15:52:13 +01:00
Rémi Verschelde
0ee6ffb257 graphite: Update to latest Git, switch to MIT license
Graphite is now available under:
MIT OR MPL-2.0 OR LGPL-2.1-or-later OR GPL-2.0-or-later

We pick MIT which is the same as Godot's main license for simplicity.

Remove define to skip deprecation warnings, upstream fixed those.
2022-12-13 10:06:00 +01:00
bruvzg
d77902f33a Implement SVG in OT support. 2022-11-04 14:10:54 +02:00
Rémi Verschelde
d43364e3cc Merge pull request #67968 from bruvzg/icu72.1
ICU: Update to version 72.1
2022-10-31 14:25:37 +01:00
bruvzg
4e44a271f0 ICU: Update to version 72.1 2022-10-28 09:11:55 +03:00
bruvzg
634c2fbcae [TextServer] Fix build with disabled graphite. 2022-10-18 18:41:31 +03:00
Rémi Verschelde
f47979f087 Merge pull request #66242 from akien-mga/scons-unify-tools-target 2022-09-30 12:28:50 +02:00
Rémi Verschelde
965022e5f6 SCons: Silence MSVC C++17 deprecation warnings in Graphite
Fixes #66497.
2022-09-28 13:27:19 +02:00
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
Fabio Alessandrelli
f958f00283 [Web] Require threads, rtti, allow optimize=speed.
Update export names (web[_dlink]_[release|debug].zip).

The Build with dynamic linking is broken due to high number of imports
in output wasm (likely emscripten regression issue 15487).
2022-08-30 20:01:19 +02:00
Fabio Alessandrelli
d20b32186f [Web] Rename JavaScript platform to Web.
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
Rémi Verschelde
e3876899d3 Merge pull request #63919 from Faless/scons/4.x_easy_deps 2022-08-07 16:09:02 +02:00
Rémi Verschelde
ae335196b5 Merge pull request #63762 from bruvzg/ft_warn
[TextServer] Add a build warning when building with external FreeType without Brotli support.
2022-08-06 00:31:15 +02:00
Fabio Alessandrelli
951a1016d3 [Scons] Implement module dependency sorting.
Modules can now call:

env.module_add_dependencies(name: str, deps: list, optional: bool)

To add required or optional dependencies during the "can_build" step.

Required dependencies will be checked and the module will be not be
enabled when they are missing, printing a warning to notify the user.
2022-08-04 20:00:19 +02:00
bruvzg
066ca97690 Add Text Server related options to the build profiles editor.
Adds SCons options to disable Brotli and Graphite.
Adds option categories to the build profiles editor.
Adds options default state to the build profiles editor.
Adds Text Server related options to the build profiles editor.
Fix misplaced OpenGL/Vulkan SCons options.
2022-08-03 15:06:43 +03:00
bruvzg
4373a0bb86 [TextServer] Add ICU Unicode security and spoofing detection. 2022-08-02 15:37:49 +03:00
bruvzg
366e2d893e [TextServer] Add a build warning when building with external FreeType without Brotli support. 2022-08-01 13:22:29 +03:00
bruvzg
b54c5c2683 [TextServer] Ensure that built-in library headers are always included before system header, add HarfBuzz version checks for optional features. 2022-07-31 22:52:59 +03:00
bruvzg
6c27d9d624 HarfBuzz: Update to version 4.4.1 2022-07-04 09:12:19 +03:00
bruvzg
93fba7ead3 Update HarfBuzz, ICU and FreeType.
HarfBuzz: Update to version 4.2.1
FreeType: Update to version 2.12.1
ICU: Update to version 71.1
2022-05-17 18:39:31 +03:00
bruvzg
ea4d62dca3 [ICU] Add library name suffix for API rename to avoid conflicts. 2022-03-29 08:38:21 +03:00
bruvzg
40b0634b34 Fix TextServer build with builtin_icu=no. 2022-03-28 11:06:49 +03:00
Rémi Verschelde
ca47f25eb1 Merge pull request #59277 from bruvzg/hb401 2022-03-18 14:43:06 +01:00
bruvzg
94a365e94b HarfBuzz: Update to version 4.0.1 2022-03-18 14:50:57 +02:00
bruvzg
f19cd44346 Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
bruvzg
9b0fbfa06d HarfBuzz: Update to version 4.0.0 2022-03-02 10:48:37 +02:00
bruvzg
5676b3c022 HarfBuzz: Update to version 3.3.1 2022-02-02 22:29:31 +02:00