597 Commits

Author SHA1 Message Date
0aa7fcd410 SCons: Prevent using disable_3d or disable_advanced_gui with tools=yes
Those make no sense for tools build, as the editor uses advanced GUI
features heavily, and adding checks for 3D/physics features everywhere
in the editor would be cumbersome (and error-prone).

Fixes #1701.
2018-07-21 23:17:36 +02:00
2b9902db06 -Fix disable_3d flag
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-21 17:26:49 -03:00
8bb90fd5f3 added 'android_add_asset_dir('...') method to Android module gradle build config
(cherry picked from commit 9190ae2be7)
2018-07-05 01:58:33 +02:00
920224a535 add NoCache wrapper to Command 2018-06-21 03:00:33 -04:00
d54b5da940 Tweak some help texts in the build system
This also removes `unix_global_settings_path` from SConstruct
since it is no longer used.
2018-06-07 21:40:54 +02:00
7d392cd6f4 SCons: Allow unbundling libwebsockets and miniupnpc 2018-06-07 10:42:30 +02:00
b4c65093d7 Merge pull request #18780 from mhilbrunner/upnp
Add UPnP support (port forwarding, querying external IP)
2018-06-07 02:10:48 +02:00
c21da40de5 Add UPnP support (port forwarding, querying external IP) 2018-06-07 01:52:04 +02:00
3334209a73 SCons: Pass env to modules can_build method
This allows to disable modules based on the environment,
in particular `env[tools]` which tells us if we are
building the editor or not.
2018-05-30 19:11:36 +02:00
d8d9eea722 Refactor JavaScript platform build script 2018-03-26 19:46:56 +02:00
955397dfd5 Merge pull request #17194 from garyo/scons_find_msvc
Enable SCons to autodetect Windows MSVC compiler
2018-03-14 21:27:00 +01:00
a44f9ca545 SCons: Fix running 'scons' without platform argument
The cache and progress logic assumed the 'env' to be defined,
but it is only when the selected platform is in the supported list.

Fixes #17497.
2018-03-14 15:25:59 +01:00
d1318ee12c Enable SCons to autodetect Windows MSVC compiler
SCons has good compiler detection logic for MSVC compilers. Up to now,
Godot hasn't used it; it depends on passed-in OS environment vars from
a specific Visual Studio cmd.exe windows. This makes it harder to
build from a msys or cygwin shell.

This change allows SCons to autodetect Visual Studio unless it sees
VCINSTALLDIR in the os.environ. It also adds a 'msvc_version' arg for
manual specification of compiler version, and uses the existing 'bits'
arg to specify the target architecture. More detail could be added as
desired. It also adds 'use_mingw' to always use mingw, even if Visual
Studio is installed. That uses the existing mingw setup logic.

If people are used to building Godot in a Visual Studio cmd window,
this should not change the behavior in that case, since VCINSTALLDIR
will be set in those windows. (However, note that you could now unset
that var and build with any other MSVC version or target arch, even in
that window.)

I refactored much of platform/windows/detect.py during this, to
simplify and clarify the logic. I also cleaned up a bunch of env var
settings in windows/detect.py and SConstruct to use modern SCons
idioms and simplify things.

I suspect this will also enable using the Intel compiler on Windows,
though that hasn't been tested.
2018-03-13 09:51:05 -04:00
f0b4921695 Avoid confusing traceback on attempting build without platform option
A traceback is printed on invoking scons without the compulsory
platform option. This is confusing, since the problem is not in
the code. Fix is to explicitly exit from the build right after
printing the error message, so the missing env variable cannot
cause the traceback later.

Fixes #17414
2018-03-10 15:13:01 +01:00
29e6ec6594 prune cache only at the start and end of build 2018-03-02 01:24:33 -04:00
ccc6897215 fix accidental SConstruct reverts
as introduced by 29215b2
2018-03-01 17:04:48 +01:00
eac4c984df add GLES 2 renderer for 2D
This commit adds a new rendering backend, GLES2, and adds a
project setting to enable it.

Currently this backend can only be used on the X11 platform,
but integrating into other platforms is planned.
2018-03-01 15:12:30 +01:00
5ec09455ed Abort compilation on missing return values (CGG/clang) 2018-02-22 11:23:05 +02:00
1602e0cdb9 SCons: Remove references to obsolete "fat" bits 2018-02-19 23:39:56 +01:00
8699f643c9 Disable GLES builders and source from server compilation 2018-02-15 07:34:11 -08:00
b92c5669de Fixed small typos in the SConstruct file. 2018-02-14 12:20:58 -02:00
bd3c27ba78 Allow building with system wide mbedtls on X11
Using builtin_mbedtls=yes is still the default as many distributions
do not ship with mbedtls included.
2018-02-14 01:34:25 +01:00
6fcc8b7e1f Deleting OpenSSL module and library 2018-02-14 01:26:34 +01:00
a025ca5fc6 Include .hpp files in VS scons builds. Fixed Typo. 2018-01-18 22:16:11 -06:00
9d98e6d2e4 adding option to split modules library 2018-01-18 21:27:57 -03:00
bf32d36230 Disable colored output and progress bar when building outside of a TTY
This makes the output more readable if it is written to a file,
and more compact in continuous integration environments, keeping
the log sizes low.

This commit also adds myself to .mailmap.
2018-01-13 17:56:41 +01:00
e141845bfb SCons: Allow unbundling bullet on Linux (only 2.87+) 2018-01-13 15:16:22 +01:00
db49f35ab8 SCons: Fix usage of LD when we meant LINK
Also made LINK and CXXFLAGS configurable as command line options.
Note that LINK currently expects the *compiler* that will be used
for linking and will call its configured linker behind the scenes
(so g++, clang++, etc., not ld.gold). See #15364 for details.
2018-01-05 20:37:45 +01:00
021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
63658fecfc Scons: Use module suffix only for final binary.
Only append the module suffixes to the resulting binary instead of all object files.
That means we can keep most of our build artifacts when toggling modules like mono.
2017-12-21 18:52:17 +01:00
b40259096c sort by the most recently accessed files 2017-12-18 22:17:38 -04:00
cf84ee22a9 Added custom editor splash (including sponsor logo). 2017-12-16 16:11:13 -03:00
0571a36152 MacPorts clang version selection, and OpenMP linking fix. 2017-12-14 20:41:50 +02:00
f8303ec6fb Adds macports_clang build flag to build using clang-5.0 form MacPorts (with OpenMP support). 2017-12-14 16:44:45 +02:00
f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
bf05309af7 Import thekla_atlas
As requested by reduz, an import of thekla_atlas into thirdparty/
2017-12-08 15:47:15 +01:00
a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
1272497fec prune scons shared cache 2017-11-27 01:43:10 -04:00
428b6a308e add support for scons cache and enable it for appveyor 2017-11-25 22:15:22 -04:00
c6cfbad47a Add explicit exception model flag for Visual C++ 2017-11-21 19:06:43 +01:00
589976321c Add cpp.hint file to improve IntelliSense 2017-11-19 21:01:05 +01:00
992a40a50d Merge pull request #12961 from eska014/platform-doc
Facilitate documenting platform-exclusive classes
2017-11-19 16:19:47 +01:00
63b1a096eb Facilitate exposing platform-exclusive interfaces to all platforms
This makes the interfaces available, without implementation, in other
platforms and the editor, which facilitates documenting platform-exclusive
classes.

Platform-exclusive APIs must be set up in platform/<platform>/api/api.cpp.
Provide noop method-implementations where necessary.

Also setup and document the HTML5 platform's JavaScript singleton.
2017-11-18 03:54:21 +01:00
b361f371f1 Cleanup of Visual Studio project generation (#12929)
Visual studio project file creation had some problems. Files with c extension were listed with cpp extension. Some include files that did not exist were added to the project.
This change ensures a file exists before adding it to the project.
2017-11-16 16:37:02 +01:00
ed2b66f023 Improve code style of generated headers 2017-11-15 21:29:34 +01:00
f6232efed9 Remove leading newline in SConstruct
Some editors don't recognize the shebang if it's not on the first line.
2017-11-13 02:04:18 -02:00
cefdb34f6c SCons: make use_lto a global option and opt-in for iphone
Supersedes #12553, see discussion in #12552.
2017-11-02 09:11:50 +01:00
79f81b77e2 -Modules can now add custom version info (added it for Mono)
-Version string takes this version info
-Ability to download templates from the interweb (listing does not work yet)
2017-11-01 23:13:27 -03:00
a4cee286e6 flatDir support [Android] 2017-10-07 15:10:17 +05:30