summaryrefslogtreecommitdiff
path: root/SConstruct
AgeCommit message (Collapse)Author
2018-07-27Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi
- 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.
2018-07-23SCons: Keep default platform lib extensions in LIBSUFFIXESRémi Verschelde
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.
2018-07-21SCons: Prevent using disable_3d or disable_advanced_gui with tools=yesRémi Verschelde
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-Fix disable_3d flagJuan Linietsky
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-05added 'android_add_asset_dir('...') method to Android module gradle build configPatrick Kaster
(cherry picked from commit 9190ae2be7068c8a84f60766a2f7c1da3e0bcd4b)
2018-06-21add NoCache wrapper to CommandRhody Lugo
2018-06-07Tweak some help texts in the build systemHugo Locurcio
This also removes `unix_global_settings_path` from SConstruct since it is no longer used.
2018-06-07SCons: Allow unbundling libwebsockets and miniupnpcRémi Verschelde
2018-06-07Merge pull request #18780 from mhilbrunner/upnpFabio Alessandrelli
Add UPnP support (port forwarding, querying external IP)
2018-06-07Add UPnP support (port forwarding, querying external IP)mhilbrunner
2018-05-30SCons: Pass env to modules can_build methodRémi Verschelde
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-03-26Refactor JavaScript platform build scriptLeon Krause
2018-03-14Merge pull request #17194 from garyo/scons_find_msvcRémi Verschelde
Enable SCons to autodetect Windows MSVC compiler
2018-03-14SCons: Fix running 'scons' without platform argumentRémi Verschelde
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-13Enable SCons to autodetect Windows MSVC compilerGary Oberbrunner
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-10Avoid confusing traceback on attempting build without platform optionViktor Ferenczi
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-02prune cache only at the start and end of buildRhody Lugo
2018-03-01fix accidental SConstruct revertskarroffel
as introduced by 29215b2
2018-03-01add GLES 2 renderer for 2Dkarroffel
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-02-22Abort compilation on missing return values (CGG/clang)bruvzg
2018-02-19SCons: Remove references to obsolete "fat" bitsRémi Verschelde
2018-02-15Disable GLES builders and source from server compilationFabio Alessandrelli
2018-02-14Fixed small typos in the SConstruct file.Michael Alexsander Silva Dias
2018-02-14Allow building with system wide mbedtls on X11Fabio Alessandrelli
Using builtin_mbedtls=yes is still the default as many distributions do not ship with mbedtls included.
2018-02-14Deleting OpenSSL module and libraryFabio Alessandrelli
2018-01-18Include .hpp files in VS scons builds. Fixed Typo.Will Nations
2018-01-18adding option to split modules libraryAriel Manzur
2018-01-13Disable colored output and progress bar when building outside of a TTYHugo Locurcio
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-13SCons: Allow unbundling bullet on Linux (only 2.87+)Rémi Verschelde
2018-01-05SCons: Fix usage of LD when we meant LINKRémi Verschelde
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.
2017-12-24-Removed OpenMP support, replaced by a custom class.Juan Linietsky
-Disabled Opus, implementation is wrong.
2017-12-21Scons: Use module suffix only for final binary.Andreas Haas
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-18sort by the most recently accessed filesRhody Lugo
2017-12-16Added custom editor splash (including sponsor logo).Juan Linietsky
2017-12-14MacPorts clang version selection, and OpenMP linking fix.bruvzg
2017-12-14Adds `macports_clang` build flag to build using clang-5.0 form MacPorts ↵bruvzg
(with OpenMP support).
2017-12-14-Add lightmapperJuan Linietsky
-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-08Import thekla_atlasHein-Pieter van Braam
As requested by reduz, an import of thekla_atlas into thirdparty/
2017-11-28disable caching for targets using helper functionsRhody Lugo
2017-11-28use the same cache for all branches for appveyorRhody Lugo
2017-11-27prune scons shared cacheRhody Lugo
2017-11-25add support for scons cache and enable it for appveyorRhody Lugo
2017-11-21Add explicit exception model flag for Visual C++Matthias Hoelzl
2017-11-19Add cpp.hint file to improve IntelliSenseMatthias Hoelzl
2017-11-19Merge pull request #12961 from eska014/platform-docRémi Verschelde
Facilitate documenting platform-exclusive classes
2017-11-18Facilitate exposing platform-exclusive interfaces to all platformsLeon Krause
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-16Cleanup of Visual Studio project generation (#12929)Roy Berube
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-15Improve code style of generated headersRémi Verschelde
2017-11-13Remove leading newline in SConstructGeorge Marques
Some editors don't recognize the shebang if it's not on the first line.
2017-11-02SCons: make use_lto a global option and opt-in for iphoneRémi Verschelde
Supersedes #12553, see discussion in #12552.