Commit Graph

59 Commits

Author SHA1 Message Date
73278bf35d SCons: Properly NoCache all text files 2025-01-16 16:59:12 -06:00
269b1dfa03 harfbuzz: Update to 10.1.0 2025-01-09 21:04:11 +01:00
3d60ce9389 [Export] Allow using ICU data from export templates instead of editor embedded data. 2025-01-07 08:15:09 +02:00
e698870caa Update ICU to 76.1 2024-10-24 22:47:59 +03:00
b6a369de79 Update HarfBuzz to 10.0.1 2024-10-01 08:20:45 +03:00
9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
3156856aa1 Remove unnecessary DLL export attributes. 2024-08-12 09:53:05 +03:00
e74fea2864 Update ICU to 75.1 2024-05-14 12:38:52 +03:00
8fcc7a52dc harfbuzz: Update to 8.4.0 2024-04-05 10:35:10 +02:00
0d02568ff8 Update ICU and msdfgen. 2024-03-13 09:12:50 +02:00
fb299d0fb1 SCons: Ensure with statement where applicable 2024-03-10 12:57:57 -05:00
d9fa40f2df Enforce \n eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
5e55c6c611 ICU4C: Update to version 74.1 2023-11-01 08:56:12 +02:00
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
81949c2cd2 thorvg: Update to 0.10.7
Fixes #81618.
2023-09-26 22:43:44 +02:00
5282974c61 SCons: Fix ThorVG build option in TextServers with #80095 2023-08-17 13:40:19 +02:00
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
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
abc13dbd0b Update HarfBuzz to 7.1.0 2023-04-03 09:13:48 +02:00
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
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
d77902f33a Implement SVG in OT support. 2022-11-04 14:10:54 +02:00
d43364e3cc Merge pull request #67968 from bruvzg/icu72.1
ICU: Update to version 72.1
2022-10-31 14:25:37 +01:00
4e44a271f0 ICU: Update to version 72.1 2022-10-28 09:11:55 +03:00
634c2fbcae [TextServer] Fix build with disabled graphite. 2022-10-18 18:41:31 +03:00
f47979f087 Merge pull request #66242 from akien-mga/scons-unify-tools-target 2022-09-30 12:28:50 +02:00
965022e5f6 SCons: Silence MSVC C++17 deprecation warnings in Graphite
Fixes #66497.
2022-09-28 13:27:19 +02:00
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
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
d20b32186f [Web] Rename JavaScript platform to Web.
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
e3876899d3 Merge pull request #63919 from Faless/scons/4.x_easy_deps 2022-08-07 16:09:02 +02:00
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
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
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
4373a0bb86 [TextServer] Add ICU Unicode security and spoofing detection. 2022-08-02 15:37:49 +03:00
366e2d893e [TextServer] Add a build warning when building with external FreeType without Brotli support. 2022-08-01 13:22:29 +03:00
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
6c27d9d624 HarfBuzz: Update to version 4.4.1 2022-07-04 09:12:19 +03:00
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
ea4d62dca3 [ICU] Add library name suffix for API rename to avoid conflicts. 2022-03-29 08:38:21 +03:00
40b0634b34 Fix TextServer build with builtin_icu=no. 2022-03-28 11:06:49 +03:00
ca47f25eb1 Merge pull request #59277 from bruvzg/hb401 2022-03-18 14:43:06 +01:00
94a365e94b HarfBuzz: Update to version 4.0.1 2022-03-18 14:50:57 +02:00
f19cd44346 Unify TextServer built-in module and GDExtension code. 2022-03-17 08:15:29 +02:00
9b0fbfa06d HarfBuzz: Update to version 4.0.0 2022-03-02 10:48:37 +02:00
5676b3c022 HarfBuzz: Update to version 3.3.1 2022-02-02 22:29:31 +02:00
44a241b241 ICU: Update to version 70.1 2021-10-28 09:15:28 +03:00
a4b736658e Remove unused imports in .py, SCsub and SConstruct files 2021-10-18 01:50:34 +05:30
3061e3859d HarfBuzz: Update to version 3.0.0 2021-09-20 09:52:45 +03:00
4c3f7d1290 Makes FontData importable resource.
Adds multi-channel SDF font texture generation and rendering support.
Adds per-font oversampling support.
Adds FontData import plugins (for dynamic fonts, BMFonts and monospaced image fonts), font texture cache pre-generation and loading.
Adds BMFont binary format and outline support.
2021-08-27 15:43:18 +03:00