summaryrefslogtreecommitdiffstats
path: root/SConstruct
Commit message (Collapse)AuthorAgeFilesLines
* Fix possible error in "disable_advanced_gui" flag's descriptionMichael Alexsander Silva Dias2018-12-211-1/+1
|
* Core: Drop unused global_defaults logicRémi Verschelde2018-12-201-4/+0
| | | | | It used to be used for Android and iOS to specify platform-specific project settings overrides, but we now have feature tags for that.
* SCons: Corrects $LIBSUFFIXES environment variable for WindowsErik2018-11-181-2/+7
| | | | | | Maxes only .lib to be recoginzed as a valid input extension for linker on Windows. Closes issue #23769.
* Merge pull request #23279 from marcelofg55/osx_serverRémi Verschelde2018-10-291-1/+4
|\ | | | | Server platform works on OS X too
| * Server platform works on OS X tooMarcelo Fernandez2018-10-291-1/+4
| |
* | Dont use equality operators with None singleton in python fileslupoDharkael2018-10-271-2/+2
|/
* SCons: Add 'werror' opt-in to treat warning as errorsRémi Verschelde2018-10-041-7/+13
| | | | | Also reorder advanced options to a more natural order, and fix MSVC warning when disabling warnings in secondary environment.
* SCons: Set default warnings level to all (-Wall or /W3)Rémi Verschelde2018-10-041-6/+3
|
* Fix some warnings raised by MSVC 2017Rémi Verschelde2018-10-031-2/+2
| | | | | | | | | | | | | | | | | Disabled signed/unsigned warnings like for GCC/Clang (warning C4018: '>=': signed/unsigned mismatch). Fixes the following MSVC 2017 warnings: ``` core\image.cpp(999): warning C4804: '>': unsafe use of type 'bool' in operation core\io\compression.cpp(178): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) editor\doc\doc_dump.cpp(226): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) scene/resources/material.h(289): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) scene/resources/material.h(298): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) editor\editor_themes.cpp(379): warning C4805: '==': unsafe mix of type 'int' and type 'bool' in operation ```
* Disable forced inline when building in debug.Juan Linietsky2018-10-021-1/+2
|
* SCons: Remove avoidable defines from main env's CPPPATHRémi Verschelde2018-10-011-5/+2
| | | | | | Also finally move freetype to its own env and disable warnings for it. Still needs some work to fix the awkward situation of the freetype and svg modules used in scene/ and editor/ respectively.
* Added xatlas as alternative to thekla, forced it on.Juan Linietsky2018-09-291-0/+1
| | | | Did some hacks to it to avoid it from failing on bad geometry.
* SCons: Build thirdparty code in own env, disable warningsRémi Verschelde2018-09-281-0/+1
| | | | | Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
* Fix warnings for comparison between signed and unsigned integers ↵Rémi Verschelde2018-09-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [-Wsign-compare] Also turn off -Wsign-compare warnings in the future, we do not consider them important. Fixes the following GCC 5 warnings: ``` core/node_path.cpp:279:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] core/oa_hash_map.h:169:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] core/oa_hash_map.h:314:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/gles2/shader_gles2.cpp:985:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/gles3/rasterizer_storage_gles3.cpp:1075:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/pulseaudio/audio_driver_pulseaudio.cpp:343:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/editor_plugin.cpp:525:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/editor_properties_array_dict.cpp:747:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/plugins/spatial_editor_plugin.cpp:2078:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/plugins/spatial_editor_plugin.cpp:4096:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] editor/plugins/sprite_editor_plugin.cpp:100:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/cvtt/image_compress_cvtt.cpp:122:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/cvtt/image_compress_cvtt.cpp:134:77: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/cvtt/image_compress_cvtt.cpp:339:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/etc/image_etc.cpp:222:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/gdnative/register_types.cpp:242:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/gdnative/register_types.cpp:258:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/opensimplex/simplex_noise.cpp:200:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/opensimplex/simplex_noise.cpp:222:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] modules/opensimplex/simplex_noise.cpp:246:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/android/export/export.cpp:1085:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/android/export/export.cpp:1489:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/android/export/export.cpp:1623:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:206:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:356:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:406:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] platform/iphone/export/export.cpp:493:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/audio_stream_player_3d.cpp:420:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/resources/audio_stream_sample.cpp:565:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/resources/audio_stream_sample.cpp:571:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_rb_resampler.cpp:156:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ``` The following warnings were not fixed, as they implied casting for no gain: ``` core/io/packet_peer.cpp:228:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] core/io/resource_format_binary.cpp:109:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/gles2/rasterizer_scene_gles2.cpp:144:57: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] drivers/unix/file_access_unix.cpp:249:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:889:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:1020:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:1154:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/3d/voxel_light_baker.cpp:2255:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] scene/resources/bit_mask.cpp:336:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_stream.cpp:141:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_stream.cpp:150:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio/audio_stream.cpp:154:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio_server.cpp:86:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] servers/audio_server.cpp:89:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] ```
* Allow system certs file to be used by Editor.Fabio Alessandrelli2018-09-151-0/+1
| | | | | | Note, it will only used by the Editor, not when running the game. This allows package maintainer to compile Godot to use system installed certificates when accessing the AssetLib.
* Bundle SSL certs with the templates.Fabio Alessandrelli2018-09-151-0/+1
| | | | | | If this is undesired it can be avoided by specifying builtin_certs=no . Bundled SSL certs will be used unless you specify an override in: Project Settings -> SSL -> Certificates .
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-1/+1
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* BuildSystem: Sort input file listsBernhard M. Wiedemann2018-08-291-1/+1
| | | | | | | | | | | | | | | | | so that godot package builds reproducibly in spite of indeterministic filesystem readdir order and http://bugs.python.org/issue30461 See https://reproducible-builds.org/ for why this is good. Sort font input file list, so that builtin_fonts.gen.h is created in a reproducible way Sort list of platforms, so that editor/register_exporters.gen.cpp is created in a reproducible way Sort list of source files, so that .a files and resulting godot binaries are created in a reproducible way
* Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi2018-07-271-2/+4
| | | | | | | | | | | | | | | | | | | | | - Refactored all builder (make_*) functions into separate Python modules along to the build tree - Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere - Introduced stub to use the builders module as a stand alone script and invoke a selected function There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp) on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky builds. Running all such content generators in a new subprocess instead of directly inside the build script works around the issue. Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle. Suggested workaround did not fully work either. Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of running a cross-compilation on Windows they would still be used, but likely it will not happen in practice. What counts is that the build itself is running on which platform, not the target platform. Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
* SCons: Keep default platform lib extensions in LIBSUFFIXESRémi Verschelde2018-07-231-0/+5
| | | | | | | | We used to fully override the default lib extensions from LIBSUFFIXES, leading to issues such as #20045 where thirdparty libraries could not easily be linked unless they adopted Godot's platform/config suffix. Fixes #20045.
* SCons: Prevent using disable_3d or disable_advanced_gui with tools=yesRémi Verschelde2018-07-211-2/+10
| | | | | | | | 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.
* -Fix disable_3d flagJuan Linietsky2018-07-211-0/+1
| | | | -Add extra flag optimize=[size,speed] to be able to prioritize size
* added 'android_add_asset_dir('...') method to Android module gradle build configPatrick Kaster2018-07-051-0/+2
| | | | (cherry picked from commit 9190ae2be7068c8a84f60766a2f7c1da3e0bcd4b)
* add NoCache wrapper to CommandRhody Lugo2018-06-211-0/+1
|
* Tweak some help texts in the build systemHugo Locurcio2018-06-071-61/+33
| | | | | This also removes `unix_global_settings_path` from SConstruct since it is no longer used.
* SCons: Allow unbundling libwebsockets and miniupnpcRémi Verschelde2018-06-071-2/+3
|
* Merge pull request #18780 from mhilbrunner/upnpFabio Alessandrelli2018-06-071-0/+1
|\ | | | | Add UPnP support (port forwarding, querying external IP)
| * Add UPnP support (port forwarding, querying external IP)mhilbrunner2018-06-071-0/+1
| |
* | SCons: Pass env to modules can_build methodRémi Verschelde2018-05-301-1/+11
|/ | | | | | This allows to disable modules based on the environment, in particular `env[tools]` which tells us if we are building the editor or not.
* Refactor JavaScript platform build scriptLeon Krause2018-03-261-5/+5
|
* Merge pull request #17194 from garyo/scons_find_msvcRémi Verschelde2018-03-141-20/+15
|\ | | | | Enable SCons to autodetect Windows MSVC compiler
| * Enable SCons to autodetect Windows MSVC compilerGary Oberbrunner2018-03-131-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | SCons: Fix running 'scons' without platform argumentRémi Verschelde2018-03-141-115/+113
|/ | | | | | | 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.
* Avoid confusing traceback on attempting build without platform optionViktor Ferenczi2018-03-101-0/+1
| | | | | | | | | | 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
* prune cache only at the start and end of buildRhody Lugo2018-03-021-10/+2
|
* fix accidental SConstruct revertskarroffel2018-03-011-6/+4
| | | | as introduced by 29215b2
* add GLES 2 renderer for 2Dkarroffel2018-03-011-5/+7
| | | | | | | | 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.
* Abort compilation on missing return values (CGG/clang)bruvzg2018-02-221-0/+1
|
* SCons: Remove references to obsolete "fat" bitsRémi Verschelde2018-02-191-3/+1
|
* Disable GLES builders and source from server compilationFabio Alessandrelli2018-02-151-1/+1
|
* Fixed small typos in the SConstruct file.Michael Alexsander Silva Dias2018-02-141-2/+2
|
* Allow building with system wide mbedtls on X11Fabio Alessandrelli2018-02-141-0/+1
| | | | | Using builtin_mbedtls=yes is still the default as many distributions do not ship with mbedtls included.
* Deleting OpenSSL module and libraryFabio Alessandrelli2018-02-141-1/+0
|
* Include .hpp files in VS scons builds. Fixed Typo.Will Nations2018-01-181-0/+2
|
* adding option to split modules libraryAriel Manzur2018-01-181-0/+1
|
* Disable colored output and progress bar when building outside of a TTYHugo Locurcio2018-01-131-1/+6
| | | | | | | | 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.
* SCons: Allow unbundling bullet on Linux (only 2.87+)Rémi Verschelde2018-01-131-0/+1
|
* SCons: Fix usage of LD when we meant LINKRémi Verschelde2018-01-051-2/+4
| | | | | | | 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.
* -Removed OpenMP support, replaced by a custom class.Juan Linietsky2017-12-241-1/+0
| | | | -Disabled Opus, implementation is wrong.
* Scons: Use module suffix only for final binary.Andreas Haas2017-12-211-3/+1
| | | | | 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.