A new `methods.dump(env)` is added to dump the construction environment
used by SCons to build Godot to a `.scons_env.json`. The file can be used
for debugging purposes and any external tool.
(cherry picked from commit 42bee75e86)
The default `custom.py` can be created at the root of the Godot
repository to initialize any SCons build options via file which are
specific to user.
(cherry picked from commit a712e14038)
Now that we have a built-in stacktrace on a segfault it would be useful
to have debug information on debug_release builds so that bugreports can
include this information. Without this debug info we will still get
function names in the backtrace but not file location.
This commit will by default build all targets with minimal debug info
and then strip the information into separate files. On MacOS this is a
.dSYM file, on Linux/MingW this is a .debug file. MacOSX will
automatically load a dSYM file if it exists in its debugger. On
Linux/MingW we create a 'gnu debuglink' meaning that gdb and friends
will automatically find the debug symbols if they exist.
Existing workflow for developers does not change at all, except that we
now create two instead of one build artifact by default.
This commit also adds a 'debug_symbols' option to X11, MacOS, and MingW
targets. The default is 'yes' which corresponds to -g1. The alternatives
are 'no' (don't generate debug infos at all) or 'full' which runs with
-g2. A target=debug build will now build with -g3.
Since we have explicit .gitignore rules for QT creator and several other
editor-specific swap/utility files I'd like to add Eclipse CDT projects
also as this is my editor of choice.
@Noshyaar was right to remove them in the first place,
we need users with local clones to clean them up to prevent
older .cpp files from being including by globbing.
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
Upgrade Gradle and Android plugin for Gradle
Disable all signing and zip-aligning for the export templates
Give correct names to generated APKs
Put .so files built by SCons right where Gradle has to pick them according to arch & build type
Downgrade NDK platform to 14 to match minSdkVersion
They were wrongly placed, creating a file named "-fpic" instead of
applying "-fpic" to the build. This file was in .gitignore, which made it
less noticiable.
This also adds build.gradle to .gitignore.
NMake was not setup by the vsproj=yes compilation
parameter. After attempting other possible options,
this is the best fix for our current requirements.
Compiling via NMake is implementing an alternative
to SCons, so this fix escapes out of NMake
environment while also supporting different target
builds and IDE error list integration.
Also sets -j setting to 2 so that it's easy for
people to change it to a propper value and speed it
up a bit for those that do not.
Adds two missing .gitignore Visual Studio temp files
present in Visual Studio's .gitignore.
- Also updated the docs to reflect this.
- Added some vim temp files to gitignore
- Changed NaCL to be consistent with the other OS_Unix::get_date implementation
(added 1 to month to map to 1-12)
Ticket:
https://github.com/godotengine/godot/issues/4025