Commit Graph

82 Commits

Author SHA1 Message Date
Fabio Alessandrelli
919bbf8077 [HTML5] Refactor JS, threads support, closures.
- Refactored the Engine code, splitted across files.
- Use MODULARIZE option to build emscripten code into it's own closure.
- Enable lto support (saves ~2MiB in release).
- Enable optional closure compiler pass for JS and generated code.
- Enable optional pthreads support.
- Can now build with tools=yes (not much to see yet).
- Dropped some deprecated code for older toolchains.
2020-03-11 16:09:31 +01:00
Fabio Alessandrelli
0f78113529 Add Javascript to CI (export template, release). 2020-03-08 03:35:13 +01:00
Rémi Verschelde
c418966623 Travis: Use Python 3.8 alias instead of specific version
Otherwise it breaks when they update the container to a new version,
like they did today with 3.7.6.
2020-02-25 10:30:51 +01:00
Rémi Verschelde
a92e2eb317 Travis: Use Xcode 11.3 for macOS/iOS
Xcode 10+ is needed for exhaustive C++17 support (gnu++17).

11.3 is the latest available version on Travis, and we don't have a
specific reason not to use it.

Follow-up to #36457.
2020-02-22 22:31:29 +01:00
Rémi Verschelde
6bb075a53f Travis: Use Ubuntu 18.04 (bionic) as base image
It's now available and allows us to have a better default environment,
with GCC 7.4.0 and Clang 7.

We now need GCC 7+ for C++17 support so it's more efficient to upgrade
the image than to install it on Ubuntu 16.04 (xenial).

Also fixes a couple -Wdeprecated-declarations warnings on macOS now
that we build against macOS 10.12.
2020-02-22 20:00:28 +01:00
Rémi Verschelde
1b01896e90 Travis: Force updating homebrew on macOS
Temporary workaround for https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296
2020-02-21 09:27:18 +01:00
Rémi Verschelde
49fec646cb Fix compilation warnings and re-enable werror=yes on Travis
Fix -Wunused-variable, -Wunused-but-set-variable and -Wswitch warnings
raised by GCC 8 and 9.

Fix -Wunused-function, -Wunused-private-field and
-Wtautological-constant-out-of-range-compare raised by Clang.

Fix MSVC 2019 warning C4804 (unsafe use of type 'bool' in comparison
operation).

GCC -Wcpp warnings/Clang -W#warnings (`#warning`) are no longer raising
errors and will thus not abort compilation with `werror=yes`.

Treat glslang headers are system headers to avoid raising warnings.

Re-enables us to build with `werror=yes` on Linux and macOS, thus
catching warnings that would be introduced by new code.

Fixes #36132.
2020-02-18 20:51:25 +01:00
bruvzg
0ce4433686 Restore parts of #33783 and #32809 missing after rebase. 2020-02-11 12:06:30 +01:00
Rémi Verschelde
fff4240bb4 Fix code formatting issues and VS compilation
Also temporarily disable multicheck build so that we get a full build
even when there are style issues on Vulkan.

Fixes #33356.
2020-02-11 12:05:19 +01:00
bruvzg
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Rémi Verschelde
83ec7cc425 Travis: Use Python 3 for SCons 2020-02-10 10:30:44 +01:00
Rémi Verschelde
9ef0e06781 Travis: Disable -Wstrict-aliasing warning on GCC 5 test build
Should speed up builds by avoiding warning spam.
This warning is no longer raised by newer GCC versions.
2020-01-16 12:38:06 +01:00
Rémi Verschelde
7f62ee69b1 Travis: Fix reporting clang-format errors after #34097 2019-12-16 08:46:36 +01:00
Hugo Locurcio
bc4dbcf793
Travis CI: Run makerst.py to check for documentation errors 2019-12-04 08:51:32 +01:00
Rémi Verschelde
95f1f4e82a Travis: Drop support for coverity_scan, we do not use it
The UX is pretty bad, and the fact that all reports are private by
default with no option to make them public makes Coverity Scan hardly
usable in a community-driven project.
2019-11-19 12:14:46 +01:00
Rémi Verschelde
ab4b57de1f Travis: Force installing OpenJDK8 for Android SDK compatibility
Travis CI upgraded their Xenial VMs to default to openjdk11, which
is not working properly for sdkmanager, so we can no longer accept
licenses for the SDK.

They don't really seem to care about providing a good alternative
for us from the few threads I read, so let's just force openjdk8
back.
2019-10-26 14:28:07 +02:00
bruvzg
7b64340eb0
Fix compilation warnings in macOS build, enable warnings=extra werror=yes for macOS CI. 2019-10-24 20:37:56 +03:00
Rémi Verschelde
a99b7a5f88 Travis: Make scons cache branch-specific 2019-09-27 13:35:33 +02:00
Rémi Verschelde
0bbb8d22c4 Travis: Fix builds wrongly reporting success after #31013
Seems to be a 5 year old bug that upstream doesn't care about.
https://github.com/travis-ci/travis-ci/issues/1066
2019-08-27 15:38:08 +02:00
Hugo Locurcio
5efd43609b
Travis CI: Test project exporting/script running in the headless editor 2019-08-20 17:35:55 +02:00
Hugo Locurcio
1b7be55bac
Travis CI: Use a multi-stage build to run static checks first
This prevents Travis CI from performing full builds if static checks
have failed.

This also removes `sudo: false` as it is deprecated.
2019-08-18 15:08:21 +02:00
Martin Liska
c8de5760bd Use GCC 9 in travis. 2019-07-02 13:28:48 +02:00
Ibrahn Sahir
5e24611241 Png driver reworked to use libpng 1.6 simplified API
Wrapped libpng usage in a pair of functions under PNGDriverCommon,
which convert between Godot Image and png data.
Switched to libpng 1.6 simplified API for ease of maintenance.
Implemented ImageLoaderPNG and ResourceSaverPNG in terms of
PNGDriverCommon functions.
Travis, switched to builtin libpng (thus builtin freetype and zlib also)
so we can build on Xenial.
2019-06-19 11:05:58 +01:00
Hugo Locurcio
b29387c859
Travis CI: Build Linux export template with disable_3d=yes
This increases the build coverage by making sure the Linux
export template still compiles when 3D support is disabled.

This also adds human-readable names to each job, which are displayed
on the Travis CI interface.
2019-06-02 19:45:46 +02:00
Rémi Verschelde
b00d7bfc3f Travis: Update clang-format to version 8.0 2019-05-20 14:35:56 +02:00
marxin
e7f22ebdcd Enable warnings=extra on clang and GCC testers.
And remove 2 warnings from warnings=extra.
2019-04-02 17:14:47 +02:00
Rémi Verschelde
5774155d6a Travis: Use Ubuntu 16.04, use GCC 8 for Linux/GCC builds
Also add one GCC 5 legacy build job for debug template.
2019-02-19 14:17:22 +01:00
marxin
8fbf69a4f4 Enable warnings=all and werror=yes for gcc-8 GCC builder. 2019-02-19 10:43:28 +01:00
marxin
6b76145694 Add gcc-8 to Travis. 2019-02-19 10:29:33 +01:00
Rémi Verschelde
ffc0792798 Travis: Use pip to install SCons on OSX
Not sure why we switched from homebrew to scons-local anymore,
but pip should work just fine and is recommended by upstream.

Downloads of scons-local from SourceForge were quite iffy, so
this should help avoid CI errors due to not having downloaded
SCons successfully.

Setting Python's user binary PATH seems necessary on Travis/OSX
as per travis-ci/travis-ci#5030 (confirmed that 'scons' is not
in PATH without it).
2019-01-09 13:39:46 +01:00
Ignacio Etcheverry
611a476224 Support globs in csproj includes 2018-10-25 18:00:17 +02:00
Rémi Verschelde
6bb5ee0ded Travis: Enable 'werror' for X11 and Android builds
They are currently warning-free, so let's keep it that way.
2018-10-04 15:38:43 +02:00
Hugo Locurcio
87ba7de328
Build some targets in release and release_debug mode on Travis CI
This makes sure the release code path is tested in CI builds.

This closes #22147.
2018-09-17 11:11:32 +02:00
Rémi Verschelde
1f3aa6890f Travis: Move Coverity module to x11-tools-mono-gcc build
Update Coverity Scan secure token, previous one expired.
2018-08-29 12:16:10 +02:00
Rémi Verschelde
e71c20099c CI: Disable debug_symbols on Travis/AppVeyor
Also increase AppVeyor cache size to 1024,
should match what is available for us in the free plan:
https://www.appveyor.com/docs/build-cache/#cache-size-beta

And drop obsolete debug_release option for Windows, superseded
by target=release and debug_symbols=yes.
2018-08-21 12:36:57 +02:00
Hugo Locurcio
2450debc0e
Use Xcode 9.4 on Travis CI
See <https://blog.travis-ci.com/2018-07-19-xcode9-4-default-announce>.
2018-08-04 18:31:44 +02:00
Rémi Verschelde
22b176f69d Travis: Install libstdc++ >= 4.9 for clang-format-6.0 2018-07-18 17:39:05 +02:00
Rémi Verschelde
003ac67df1 Travis: Update style checks to clang-format 6.0.1 2018-07-18 16:29:43 +02:00
Rémi Verschelde
7bf0c134a7 Travis: Build Mono module in linux tools job 2018-06-15 13:10:21 +02:00
Rémi Verschelde
c58f73fd35 Travis: Make dependencies follow the matrix requirements
Also make the coverity addon only applied to the static checks build job.
2018-06-15 12:36:35 +02:00
Rémi Verschelde
f827dcba44 Travis: Cleanup build matrix
Remove unused MinGW config, switch server build to gcc/tools.
Update COVERITY_SCAN_TOKEN's secure.
2018-06-15 12:36:33 +02:00
Rémi Verschelde
1e19e2846d Travis: Add server build with clang 2018-05-10 21:50:26 +02:00
Rémi Verschelde
38fe9ae694 Travis: Enforce Coverity Scan on STATIC_CHECKS Linux/gcc build job
Also ensure that we are not using cached build objects (need to build
from scratch), and update encrypted Coverity Scan token.
2018-04-12 13:45:26 +02:00
Rémi Verschelde
6862cd7bf1 Travis: Remove unnecessary/obsolete before_install call
It comes from the Coverity documentation but it fails, and their example projects don't use it.
2018-04-12 11:09:55 +02:00
Rémi Verschelde
5fcf938909 Travis: Add setup for Coverity Scan 2018-04-12 10:59:19 +02:00
Rémi Verschelde
040e9ecae0 Travis: Use XCode 9.3 / macOS 10.13 for osx/iphone builds 2018-04-10 15:02:48 +02:00
Rémi Verschelde
6c2d36271d Travis: Reenable osx and iphone builds
We disabled them due to Travis having big infrastructure issues for osx builds,
but it seems to be back under control now.
2018-04-10 12:42:27 +02:00
Fabio Alessandrelli
6fcc8b7e1f Deleting OpenSSL module and library 2018-02-14 01:26:34 +01:00
Fabio Alessandrelli
f3abd4a065 Travis builds use builtin_openssl for X11
1.0.2 is now the minimum version of openssl to build against
2018-02-06 14:10:13 +01:00
Emmanuel Leblond
e7965b0f8a
Add GDnative wrapper lib on CI build 2018-01-04 20:32:12 +01:00