Commit graph

153 commits

Author SHA1 Message Date
Leon Krause
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
Rémi Verschelde
ed2b66f023 Improve code style of generated headers 2017-11-15 21:29:34 +01:00
George Marques
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
Rémi Verschelde
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
Juan Linietsky
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
Ramesh Ravone
a4cee286e6
flatDir support [Android] 2017-10-07 15:10:17 +05:30
Ignacio Etcheverry
d5caf71c3f Fix SConstruct check for config.is_enabled() 2017-10-03 00:01:30 +02:00
Andreas Haas
31c14432b8 Merge pull request #11753 from Listwon/Intellisense
Fix IntelliSense
2017-10-02 22:28:37 +02:00
neogaston
eaa965d5ef Indentation Error
TabError: inconsistent use of tabs and spaces in indentation

was fixed
2017-10-02 00:04:11 -05:00
Bartłomiej T. Listwon
936f63a2dd Fix IntelliSense
Fix the CPPPATH passed to MSVSProject. Uses SCons Dir() function to convert "#" paths http://www.scons.org/doc/0.97/HTML/scons-user/a3414.html#CV-CPPPATH
2017-10-01 17:08:21 +02:00
Juan Linietsky
d3345121cc Ability to set a module enabled/disabled by default by adding is_enabled() to config.py 2017-10-01 08:52:11 -03:00
Elliott Sales de Andrade
5be675eb03 Use BoolVariable for module options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
45a9a680a3 Use BoolVariable for third-party options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
ffab67b8da Use BoolVariable in target/component/advanced options. 2017-09-25 14:36:02 -04:00
Elliott Sales de Andrade
f9e463bce2 Use EnumVariable for choice-based build options. 2017-09-25 14:36:01 -04:00
Elliott Sales de Andrade
ba0dcbbdc3 Bump required scons version to 0.98.1.
* Environment.AddPostAction() and the global AlwaysBuild() were added in
  0.93, so requiring 0.14 is broken.
* Environment.Decider and Glob were added in some intermediate 0.97
  release.
* The Variables object was added in 0.98.1.
2017-09-24 22:39:35 -04:00
Elliott Sales de Andrade
a408388623 Enable building against system zstd. 2017-09-23 23:46:47 -04:00
Matthias Hoelzl
f3745a23be Fix errors in Python 3 build 2017-09-16 04:18:14 +02:00
Rémi Verschelde
cc7c892bca Merge pull request #11160 from marcelofg55/drive_funcs_x11
Implemented DirAccess get_drive and get_drive_count for Linux
2017-09-13 20:04:54 +02:00
Rémi Verschelde
27ae3c839d Merge pull request #7908 from SaracenOne/recast
In-editor navmesh generation.
2017-09-13 19:22:29 +02:00
Juan Linietsky
4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00
Marcelo Fernandez
8f133e2c4d Added check_c_headers to SCons env to check for the existence of headers 2017-09-12 12:00:14 -03:00
Saracen
92e77d5ff2 Recast integration. 2017-09-04 21:41:57 +01:00
Rémi Verschelde
0cee288c11 Merge pull request #10148 from leezh/pcre2
Replacement of internal RegEx with PCRE2
2017-08-31 11:56:19 +02:00
Matthias Hoelzl
cecff2dc74 Generate project files for VS2017 2017-08-29 16:53:46 +02:00
Matthias Hoelzl
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
Zher Huei Lee
e3e2f06324 Replacement of internal RegEx with PCRE2
The pattern and replacement matching behaviour has been changed purely
due to the nature of switching to a standards-compliant library.

One mistake in the previous behaviour was that named groups didn't have
a number. This has been corrected.

As names are actually just an alias of numbered groups,
RegExMatch::get_name_dict() is now get_names() and is a dict
referring to the group number it represents.

Duplicate names are enabled and the with the first matching instance
used.

Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was
removed.
2017-08-19 19:29:14 +08:00
Marcelo Fernandez
6adeeeb848 Fix scons failing when not building sources 2017-08-03 11:53:16 -03:00
Brent Taylor
7121228818 BUGFIX: Check for "VCINSTALLDIR" environment variable instead of "VSINSTALLDIR". 2017-07-27 21:39:49 -07:00
L. Krause
b0e387a012 Fix building HTML5 when cmd.exe is set up for MSVC 2017-07-22 15:57:40 +02:00
Juan Linietsky
2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Timo Schwarzer
f93bb4f458 Add options for more human-friendly build output 2017-07-11 19:46:23 +02:00
George Marques
79815a48da
Increase SCons rebuild speed 2017-07-07 13:00:27 -03:00
Poommetee Ketson
e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Pedro J. Estébanez
d46e246d0f Rework warning levels
Now you have: extra, all (the default), moderate, no.
The old 'yes' option is still supported, but a warning will be printed and 'all' will be assumed.

The different options will translate to the following:

MSVC:
extra -> /Wall (implies /W4)
all -> /W3 + disable non-essential (*)
moderate -> /W2 + disable non-essential (*)
no -> /w

GCC/Clang:
extra -> -Wall -Wextra
all -> -Wall
moderate -> -Wall -Wno-unused
no -> -w

* = Truncations, narrowing conversions...: /wd4267 /wd4244 /wd4305 /wd4800
2017-05-27 02:30:27 +02:00
Juan Linietsky
fccf2816d4 -Fix eternal black screen on Windows
-Disabled warnings on windows, need to properly set up warnings
2017-04-09 17:59:17 -03:00
Rémi Verschelde
d8f32637be SCons: Add option to toggle warnings (on by default)
All the warnings are factored out of the platform-specific files and moved to
SConstruct. Will have to check that it does not introduce regressions on some
platforms/compilers.

(cherry picked from commit 31107daa1a)
2017-03-26 21:58:37 +02:00
Rémi Verschelde
debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Ramesh Mani Maran
27c7d253aa android: adding classpath and gradle plugins 2017-03-18 10:27:30 +01:00
Rémi Verschelde
49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00
Rémi Verschelde
b87a232668 Reorder the folders in tools to prepare moving tools/editor
- `certs` and `editor_fonts` go to `thirdparty`
- `dist` and `scripts` go to a new `misc` folder
- `collada` and `doc` go to `tools/editor`

The next step will be to rename `tools/editor` to `editor` directly,
but this will be done at the right time to avoid breaking too many PRs.
2017-02-09 00:08:27 +01:00
Rémi Verschelde
41821ba11d Remove libmpcdec bundled lib, no longer used
Musepack support was removed in 857c50db70.
2017-01-11 22:40:51 +01:00
Rémi Verschelde
790f629e5e Move core engine tests to core/ 2017-01-08 14:08:18 +01:00
Rémi Verschelde
2a38a5eaa8 Remove bundled glew, obsoleted by glad
Also make Haiku load the glad header for GLES3 too,
though I haven't test it.
2017-01-06 22:56:51 +01:00
Rémi Verschelde
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
Rémi Verschelde
cc95d4448c scons: Reorder options for clarity
Also prefix all thirdparty-related toggles with `builtin`.
2016-11-03 07:45:08 +01:00
Rémi Verschelde
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
Rémi Verschelde
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
Rémi Verschelde
d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00