瀏覽代碼

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).
Hugo Locurcio 2 年之前
父節點
當前提交
f4efa2fd8a
共有 2 個文件被更改,包括 39 次插入35 次删除
  1. 30 1
      about/faq.rst
  2. 9 34
      contributing/development/compiling/introduction_to_the_buildsystem.rst

+ 30 - 1
about/faq.rst

@@ -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.
 

+ 9 - 34
contributing/development/compiling/introduction_to_the_buildsystem.rst

@@ -5,45 +5,20 @@ Introduction to the buildsystem
 
 .. highlight:: shell
 
-SCons
------
-
-Godot uses `SCons <https://www.scons.org/>`__ to build. We love it, we are not
-changing it for anything else. We constantly get requests to move the build
-system to CMake, or Visual Studio, but this is not going to happen. 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 (plugins). 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 it if
-you are planning to build Godot yourself.
 
 Setup
 -----
 
-Please refer to the documentation for :ref:`doc_compiling_for_android`,
-:ref:`doc_compiling_for_ios`,  :ref:`doc_compiling_for_linuxbsd`,
-:ref:`doc_compiling_for_macos`, :ref:`doc_compiling_for_uwp`,
-:ref:`doc_compiling_for_web`, and :ref:`doc_compiling_for_windows`.
+:ref:`Godot uses the SCons build system. <doc_faq_why_scons>`
+Please refer to the documentation for:
 
-Note that for **Windows/Visual Studio**, you need to use ``x86_x64 Cross Tools
-Command Prompt for VS 2017`` or similar, depending on your install, instead of
-the standard Windows command prompt to enter the commands below.
+- :ref:`doc_compiling_for_android`
+- :ref:`doc_compiling_for_ios`
+- :ref:`doc_compiling_for_linuxbsd`
+- :ref:`doc_compiling_for_macos`
+- :ref:`doc_compiling_for_uwp`
+- :ref:`doc_compiling_for_web`
+- :ref:`doc_compiling_for_windows`
 
 Platform selection
 ------------------