summaryrefslogtreecommitdiffstats
path: root/SConstruct
Commit message (Collapse)AuthorAgeFilesLines
* SCons: Don't enable any `-Werror=return-type` outside `werror=yes`Rémi Verschelde2022-05-031-4/+0
| | | | | | | | We shouldn't presume that future compilers will not have false positives or find new occurrences of this warning, which would break compiling old versions of the engine without passing custom `CXXFLAGS`. Follow-up to #60652.
* SCons: Disable `-Werror=return-type` for GCC 12+ due to regressionRémi Verschelde2022-04-301-2/+6
| | | | | Works around and thus closes #58747. Supersedes #60613.
* Remove last editor code dependencies in template buildRémi Verschelde2022-03-281-2/+4
| | | | | | SConstruct change also makes it possible to outright delete the `editor` folder in a `tools=no` build, which we use in CI to ensure no invalid cross-dependencies are added.
* Unify TextServer built-in module and GDExtension code.bruvzg2022-03-171-1/+1
|
* Remove unused Bullet module and thirdparty codeRémi Verschelde2022-03-091-1/+0
| | | | | | | It has been disabled in `master` since one year (#45852) and our plan is for Bullet, and possibly other thirdparty physics engines, to be implemented via GDExtension so that they can be selected by the users who need them.
* Implementing OpenXR driverBastiaan Olij2022-02-231-0/+1
|
* SCons: Make compilation database generation optionalRémi Verschelde2022-02-091-6/+9
| | | | | Saves around 3 s on incremental rebuilds to have it disabled by default. Can be enabled with `compiledb=yes`.
* SCons: Add `fast_unsafe` option for faster rebuildsRémi Verschelde2022-02-081-1/+13
| | | | | | | | | | | | | | | | | | | This reverts #53828 which had caused a significant drop in incremental rebuild time for debug builds (from 10s to 23s on my laptop). The "faster but unsafe" options are re-added, as well as adding `max_drift=60` which we didn't use previously. These options speed up SCons' own processing of the codebase to decide what to build/rebuild (i.e. the first step before actually calling the compiler). This will therefore not make much difference for scratch builds, and is mostly useful for incremental rebuilds (including "null" rebuilds with no change). These options are enabled automatically for `debug` builds, unless `fast_unsafe=no` is passed. They are disabled by default for `release` and `release_debug` builds, unless `fast_unsafe=yes` is passed.
* Improve python helper modules declaration in SConstruct for compatibility ↵Emmanuel Leblond2022-01-131-0/+16
| | | | with Python 3.6 and import against helper modules's parent path
* Explicitly declare python helper modules in SConstruct to avoid unexpected ↵Emmanuel Leblond2022-01-121-0/+25
| | | | shadowing
* Merge pull request #56308 from Calinou/scons-tweak-target-release-error-messageRémi Verschelde2022-01-121-1/+2
|\
| * Improve error when attempting to build with `tools=yes target=release`Hugo Locurcio2021-12-291-1/+2
| |
* | Revert "Print a warning with unknown SCons variables to ease troubleshooting"Rémi Verschelde2022-01-061-7/+0
|/
* Rename `VideoPlayer` to `VideoStreamPlayer` for consistencyRémi Verschelde2021-12-061-1/+1
| | | | | | | It's a player for `VideoStream` resources, just like `AudioStreamPlayer` is a player for `AudioStream` resources. Closes https://github.com/godotengine/godot-proposals/issues/3624.
* Remove editor splash screen with sponsors logoRémi Verschelde2021-11-301-1/+4
| | | | | | | | | | | | | The Godot Project Leadership Committe has decided to update the sponsoring tiers so that the Platinum Sponsorship no longer includes a logo on the editor splash screen. This lets us reclaim the editor splash screen space for community-related content instead of sponsors (e.g. a different community-designed splash screen for each stable branch?). Also removes two Platinum Sponsors whose sponsorship has expired earlier this year.
* Print a warning with unknown SCons variables to ease troubleshootingHugo Locurcio2021-11-211-0/+7
| | | | | | | When disabling specific modules, misspellings can occur. Additionally, when switching between the `3.x` and `master` branches frequently, it's possible to forget about renamed modules such as `lightmapper_cpu` versus `lightmapper_rd`.
* [HTML5] Add WebGL2 (GLES3) support using the OpenGL renderer.Fabio Alessandrelli2021-11-191-12/+5
| | | | | | | Note, the editor build requires the mbedtls module to be manually enabled, as it is currently needed as a ResourceUID dependency. This will need to be addressed in a separate PR.
* [macOS] Add support for OpenGLES3 video driver.bruvzg2021-11-021-0/+1
|
* Use OpenGL 3.3 core profile instead of compatibility profileClay John2021-10-311-3/+3
| | | | | | | | | | - Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
* Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio2021-10-301-13/+4
| | | | | - Use lowercase driver names for the `--rendering-driver` command line argument.
* Add GLES2 2D renderer + Linux display managerlawnjelly2021-10-301-0/+22
| | | | | | | | | First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
* Merge pull request #53833 from akien-mga/remove-webm-supportRémi Verschelde2021-10-151-2/+0
|\
| * Remove WebM support (and deps libvpx and opus)Rémi Verschelde2021-10-151-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've had many issues with WebM support and specifically the libvpx library over the years, mostly due to its poor integration in Godot's buildsystem, but without anyone really interested in improving this state. With the new GDExtensions in Godot 4.0, we intend to move video decoding to first-party extensions, and this would likely be done using something like libvlc to expose more codecs. Removing the `webm` module means we can remove libsimplewebm, libvpx and opus, which we were only used for that purpose. Both libvpx and opus were fairly complex pieces of the buildsystem, so this is a nice cleanup. This also removes the compile-time dependency on `yasm`. Fixes lots of compilation or non-working WebM issues which will be linked in the PR.
* | SCons: Set `DEBUG_ENABLED` and `DEV_ENABLED` in SConstructRémi Verschelde2021-10-151-3/+11
|/ | | | | They're the same for all platforms so they don't need to be repeated in all platform definitions.
* Merge pull request #53829 from akien-mga/scons-py3.6Rémi Verschelde2021-10-151-1/+1
|\
| * SCons: Increase min Python version to 3.6Rémi Verschelde2021-10-151-1/+1
| | | | | | | | | | | | | | | | Current SCons 4.2.0 still supports Python 3.5 but deprecated it, and support will be removed in the next release. It's also become needlessly restrictive to prevent ourselves from using Python 3.6 f-Strings, so it's time to up the requirement.
* | SCons: Remove MD5-timestamp and implicit cache optimizationsRémi Verschelde2021-10-151-10/+0
|/ | | | | | They haven't really helped save much time on incremental rebuilds, and they do cause potential issues with build correctness (and possibly even one of the cause for overly eager incremental rebuilds).
* Force optimized builds for thirdparty Embree filesjfons2021-09-281-0/+1
|
* Allow disabling the RegEx module in the editorAaron Franke2021-09-151-1/+1
|
* Makes FontData importable resource.bruvzg2021-08-271-0/+1
| | | | | | | 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.
* Replace HTTP links with HTTPS for sites with HTTPS versionsAaron Franke2021-08-221-2/+2
|
* Use "volk" instead of statically linked Vulkan loader.bruvzg2021-08-121-1/+1
|
* Some work on double supportAaron Franke2021-08-091-0/+7
|
* Merge pull request #51427 from omar-polo/platform-detect-openbsdRémi Verschelde2021-08-091-1/+7
|\ | | | | automatically detect openbsd as platform=linuxbsd
| * automatically detect BSDs as platform=linuxbsdOmar Polo2021-08-091-1/+7
| |
* | SCons: Add method to detect Emscripten and use it for warnings configRémi Verschelde2021-08-061-3/+3
| | | | | | | | | | | | Emscripten is LLVM-based so we want to follow the same logic. But we can't just put it as a match in `methods.using_clang()` as that would mess with the compiler version detection logic used to restrict old GCC and Clang releases.
* | SCons: Disable Clang -Wordered-compare-function-pointers warningRémi Verschelde2021-08-061-6/+10
| | | | | | | | | | | | | | It's raised for us on many comparators implemented to be able to store a struct in `Set` or `Map` (who rely on `operator<` internally). In the cases I reviewed we don't actually care about the ordering and we use the struct's function pointers as that's the only distinctive data available.
* | SCons: Avoid using Python f-string to preserve Python 3.5 compatRémi Verschelde2021-07-201-1/+1
| | | | | | | | Fixes #50629.
* | Implement the ability to disable classesreduz2021-07-131-0/+2
| | | | | | | | | | | | | | * This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
* | Add elapsed time print statement to build systemHendrik Brucker2021-07-081-0/+13
| |
* | Print a notice when compiling with `target=debug`Hugo Locurcio2021-06-211-2/+7
|/ | | | | | | Debug builds are considerably slower than release builds or even release_debug builds. `target=debug` is still the default SCons target option, so unsuspecting users may be compiling unoptimized debug builds for their personal use.
* LinuxBSD now compiles without vulkan/x11.Fabio Alessandrelli2021-06-011-0/+1
|
* Remove server platformFabio Alessandrelli2021-06-011-14/+13
|
* Improve compiler version extractionMmAaXx5002021-05-311-5/+31
|
* Port changes to the "raycast" module build files from 3.xjfons2021-05-041-0/+1
|
* Add option modules_enabled_by_defaulttotlmstr2021-04-101-10/+16
|
* Merge pull request #44398 from RevoluPowered/unit-tests-for-export-templatesRémi Verschelde2021-03-231-4/+0
|\ | | | | Add unit tests for export templates
| * Add unit tests for export templatesGordon MacPherson2021-03-221-4/+0
| |
* | Merge pull request #46966 from qarmin/faster_releaseRémi Verschelde2021-03-201-1/+1
|\ \ | | | | | | Allow to not optimize release build
| * | Allow to not optimize release buildRafał Mikrut2021-03-141-1/+1
| | |