mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-04 14:11:02 +03:00
Move rationale about Godot using SCons to Frequently asked questions
This also removes an obsolete bit about the command prompt to use when compiling using Visual Studio (automatic detection has been implemented for years).
This commit is contained in:
@@ -478,6 +478,35 @@ This custom UI toolkit :ref:`can't be used as a library <doc_faq_use_godot_as_li
|
||||
but you can still
|
||||
:ref:`use Godot to create non-game applications by using the editor <doc_faq_non_game_applications>`.
|
||||
|
||||
.. _doc_faq_why_scons:
|
||||
|
||||
Why does Godot use the SCons build system?
|
||||
------------------------------------------
|
||||
|
||||
Godot uses the `SCons <https://www.scons.org/>`__ build system. There are no
|
||||
plans to switch to a different build system in the near future. There are many
|
||||
reasons why we have chosen SCons over other alternatives. For example:
|
||||
|
||||
- Godot can be compiled for a dozen different platforms: all PC
|
||||
platforms, all mobile platforms, many consoles, and WebAssembly.
|
||||
- Developers often need to compile for several of the platforms **at
|
||||
the same time**, or even different targets of the same platform. They
|
||||
can't afford reconfiguring and rebuilding the project each time.
|
||||
SCons can do this with no sweat, without breaking the builds.
|
||||
- SCons will *never* break a build no matter how many changes,
|
||||
configurations, additions, removals etc.
|
||||
- Godot's build process is not simple. Several files are generated by
|
||||
code (binders), others are parsed (shaders), and others need to offer
|
||||
customization (:ref:`modules <doc_custom_modules_in_cpp>`). This requires
|
||||
complex logic which is easier to write in an actual programming language (like Python)
|
||||
rather than using a mostly macro-based language only meant for building.
|
||||
- Godot build process makes heavy use of cross-compiling tools. Each
|
||||
platform has a specific detection process, and all these must be
|
||||
handled as specific cases with special code written for each.
|
||||
|
||||
Please try to keep an open mind and get at least a little familiar with SCons if
|
||||
you are planning to build Godot yourself.
|
||||
|
||||
.. _doc_faq_why_not_stl:
|
||||
|
||||
Why does Godot not use STL (Standard Template Library)?
|
||||
@@ -547,7 +576,7 @@ such a case, you should consider a different approach to optimization.
|
||||
The vast majority of games do not need this and Godot provides handy helpers
|
||||
to do the job for most cases when you do.
|
||||
|
||||
If a game needs to process such a large amount of objects, our recommendation
|
||||
If a game needs to process such a large amount of objects, our recommendation
|
||||
is to use C++ and GDExtensions for performance-heavy tasks and GDScript (or C#)
|
||||
for the rest of the game.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user