Commit Graph

278 Commits

Author SHA1 Message Date
c5bd0c37ce Running builder (content generator) functions in subprocesses on Windows
- 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-27 21:37:55 +02:00
b64171e79c add initial GLES2 3D renderer 2018-07-27 14:15:46 +02: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
27310974e0 fixed building using scons with python3
I broke python 3 builds by using py2 specific dict functions in
commit 98846b39ee
Fixed with functions in compat.py
2018-05-28 18:41:16 +01:00
1433c2cbbb GDScript access to copyright, license, author and donor information.
Adds following functions to the Engine singleton:
get_author_info - names of Godot authors
get_copyright_info - detailed source copyright get_license_info
get_donor_info - donor names
get_license_info - full text of licenses used, indexed by license names
get_license_text - the text of the Godot Expat license
2018-05-19 00:40:16 +01:00
291fa9deb4 Remove commented out code in methods.py 2018-05-05 07:55:30 +02:00
d8d9eea722 Refactor JavaScript platform build script 2018-03-26 19:46:56 +02:00
272ecddb28 Properly closing all files in Python code 2018-03-11 14:55:50 +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
612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
e6f787cb02 Fix mixed use of tabs and spaces 2018-01-24 21:45:18 -08:00
70fca42cd9 removed debug print 2018-01-24 19:42:33 -03:00
81426ff0a8 - Improves portability in joystick buttons enum
- Fixes linking bug in modules split library
2018-01-24 19:12:54 -03:00
a025ca5fc6 Include .hpp files in VS scons builds. Fixed Typo. 2018-01-18 22:16:11 -06:00
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01: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
bb90707709 SCons: Fix build error on invalid module folders 2018-01-07 15:56:40 +01:00
b40259096c sort by the most recently accessed files 2017-12-18 22:17:38 -04: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
3fd23da5ee Rename the version's "revision" to "build"
That "revision" was inherited from SVN days but had been since then
used to give information about the build: "custom_build", "official",
"<some distro's build>".

It can now be overridden with the BUILD_NAME environment variable.
2017-11-20 00:51:14 +01:00
6947bed015 Pass engine name and version parts as proper strings
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
2017-11-20 00:51:14 +01:00
589976321c Add cpp.hint file to improve IntelliSense 2017-11-19 21:01:05 +01:00
8354bb4638 Suppress progress messages in Visual Studio output pane 2017-11-18 17:51:24 +01:00
ed2b66f023 Improve code style of generated headers 2017-11-15 21:29:34 +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
ad8d8491cd added support for paths with spaces for VSBUILDS
There was a problem with MSBuild in that windows file paths
end with a backslash, which was escaping the last of the double quotes which
surround the $(ProjectDir) directive. This was fixed by removing the
last backslash through changing it to $(ProjectDir.TrimEnd('\')).
2017-10-29 21:10:44 +00:00
70c3ea5a82 Fixing vsproj generation for paths with spaces
Fixing vsproj generation by adding quotes arounnd $(ProjectDir). Otherwise the build will fail if the name has spaces in it
[ci skip]
2017-10-27 20:48:06 +02:00
a4cee286e6 flatDir support [Android] 2017-10-07 15:10:17 +05:30
bc870468f1 Fix scons: *** No SConstruct file found
Add --directory=$(ProjectDir) to build_commandline()
2017-10-01 18:02:58 +02:00
b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
cecff2dc74 Generate project files for VS2017 2017-08-29 16:53:46 +02:00
b6e1e47e3a Make build scripts Python3 compatible
- The Windows, UWP, Android (on Windows) and Linux builds are
  tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
  I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
2017-08-27 23:05:39 +02:00
7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
5c361485db -Added GLTF scene support (still missing animations and .glb extension)
-Fixed bugs regarding tangent generation in SurfaceTool
2017-08-02 15:43:49 -03:00
5a9eb5ef58 Include Git hash in the engine 2017-07-11 15:57:52 +07:00
92367968e7 Use custom native-run icons for Android and HTML5 2017-06-27 21:06:26 +02:00
e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
8b01f9d28f Fix a few issues compiling windows and using VS2015 and earlier 2017-05-23 21:54:19 +10:00
14a982a0c2 Detect newer Visual Studio compilers correctly like VS2017. 2017-05-19 11:27:17 +10:00
99529fb80d Move VERSION_MKSTRING logic to version.h
Fixes a bug where the VERSION_PATCH define is not yet in scope if
typedefs.h is included before version.h at compilation time.

(cherry picked from commit 3b687c5474)
2017-04-20 12:14:34 +02:00
f8309f86c2 Android: avoiding duplicates in build.gradle 2017-04-10 08:34:40 +05:30
debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
27c7d253aa android: adding classpath and gradle plugins 2017-03-18 10:27:30 +01:00
0413328dcb fix code generation so it generates Transform2D instead of Matrix32 2017-01-11 09:15:57 -03:00
3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
f34151ff0f style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
817dd7ccbb style: Fix PEP8 blank lines issues in Python files
Done with `autopep8 --select=E3,W3`, fixes:

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00