Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow DEBUG_ENABLED to be toggled independently of TOOLS_ENABLED #73668

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lyuma
Copy link
Contributor

@lyuma lyuma commented Feb 21, 2023

Makes debugging of unusual release-only issues such as godotengine/godot-cpp#842 easier from an editor build without needing to make a separate template build to reproduce them.

This is mostly useful for target=editor since there is at present no way to make a "release editor".

For example, these will build debug builds without the DEBUG_ENABLED macro (perhaps to allow debugging of release-specific crashes)

scons target=editor debug_features=no
scons target=template_debug debug_features=no

or build a release build with optimizations, but with DEBUG_ENABLED turned on.

scons target=template_release debug_features=yes

debug_features defaults to auto which is yes for target=template_release and no for target=editor or target=template_debug

There could be usecases for building a debuggable template, but it's unclear what the difference is between my proposed target=template_debug debug_features=no and target=template_release optimization=debug debug_symbols=yes

I'd be open to adding target=editor_release instead if it makes more sense.

Regarding the changes in the PR, they are to make checks consistent across the codebase.

As one example, ClassDB metadata and argument info are enabled when DEBUG_METHODS_ENABLED (which means the same thing as DEBUG_ENABLED, I think?), so it makes sense to permit --dump-gdextension-api when DEBUG_ENABLED.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants