47 Commits

Author SHA1 Message Date
Rémi Verschelde
efa270fa44 Trim down scripts to build Godot 1.0 with modern containers
Only building for desktop platforms for now, as Android, iOS and Web
builds would all be obsolete and unable to run on current devices.
2025-01-06 16:33:38 +01:00
Rémi Verschelde
8c176b460b Android: Download and copy swappy libraries 2024-11-08 14:39:11 +01:00
Rémi Verschelde
e0891e9fde Adapt build scripts to run with passwordless sudo podman 2024-11-07 22:36:40 +01:00
Rémi Verschelde
629090d76e Windows: Add extra editor build with steamapi=yes for stable releases 2024-08-15 00:39:35 +02:00
Rémi Verschelde
834f6223d8 New ANGLE build, fixes macOS crash by removing conflicting astcenc lib 2024-07-30 11:31:37 +02:00
Rémi Verschelde
1bf0772565 New ANGLE build, restores Windows 7 support 2024-07-28 19:23:17 +02:00
bruvzg
c3f202946a Add commands to make ARM64 Windows engine builds, update Mesa/NIR and ANGLE downloads to the latest releases. 2024-07-22 12:13:53 +03:00
Rémi Verschelde
a29f0a255d Update MoltenVK build to re-add support for macOS 10.13
See https://github.com/godotengine/moltenvk-osxcross/pull/1 for context.
2024-07-11 22:50:56 +02:00
Rémi Verschelde
a79a7d16ce macOS: Update ANGLE library build to support ANGLE over GL 2024-05-30 23:18:03 +02:00
Rémi Verschelde
b3ba0ae932 macOS: Download custom osxcross-compatible MoltenVK build automatically 2024-05-16 15:23:29 +02:00
Rémi Verschelde
3fd3880077 deps: Update godot-nir-static to 23.1.9 2024-02-05 15:24:31 +01:00
bruvzg
9bba647a8b [Windows] Enabled D3D12 support. 2024-01-04 12:12:26 +02:00
Rémi Verschelde
4863750c00 Download static ANGLE libs to link them in Windows and macOS builds 2023-09-25 15:32:14 +02:00
Rémi Verschelde
79967d5bb9 Drop UWP build scripts since it was removed upstream 2023-09-21 15:33:31 +02:00
Fredia Huya-Kouadio
0780ea4a4f Add logic to upload the Godot Android library to MavenCentral
Add environment variables to sign the release build for the Godot
Android editor and to publish the library to MavenCentral.
If the environment vars are not defined, we do a simple unsigned
`release_debug` build for the Android editor.

Change `config.sh.in` template to use single quotes by default, to
prevent expanding special characters in environment variables.

To publish to MavenCentral, a new `build-android/upload-mavencentral.sh`
script is added. It needs to run after the build using gradle, but we
still want it to be optional and used only when making an official
release, so we copy the compiled sources in the first step.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-05-25 09:28:43 +02:00
Rémi Verschelde
0bd0362372 Web: Handle new template names and dlink_enabled=yes
Follow-up to https://github.com/godotengine/godot/pull/65094.

Also reverts LTO change from #62, we found that while it's much slower
to link, full LTO still produces smaller binaries and that's quite
important for the Web platform.
2022-09-07 10:28:28 +02:00
Rémi Verschelde
23187596fb .NET 6: Initial port of build scripts for 4.0
Not working yet but cleans up a lot of the Mono stuff we won't need anymore.
2022-08-30 10:12:58 +02:00
Rémi Verschelde
2c6469a904 Web: Rename javascript to web 2022-08-29 15:09:39 +02:00
Rémi Verschelde
dd1128fea0 JavaScript: Re-enable build for 4.0 now that WebGL 2 works 2022-08-26 14:44:05 +02:00
bruvzg
0dc9509c1f Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 12:23:09 +02:00
Rémi Verschelde
edd1194d3f macOS and iOS: Link MoltenVK statically
Also move angle to a 'deps' folder for all downloaded or manually copied
deps used by the builds.
2022-07-21 12:23:09 +02:00
Rémi Verschelde
6463e8b60a Port scripts to Godot 4.0.dev, remove server build
The `server` platform has now been replaced by the "headless" `DisplayServer`
which is registered on all desktop platforms.

Disable JavaScript and UWP builds which are not currently supported in 4.0.
2022-07-21 12:23:09 +02:00
Rémi Verschelde
4c9e58d98f Use new containers with Mono 6.12.0.182, Android NDK r23, Emscripten 3.1.14 2022-06-27 12:19:24 +02:00
Rémi Verschelde
a0675bb238 Use new containers with Fedora 36, Mono 6.12.0.179, Xcode 13.3.1
Remove ad-hoc java install from Android build script, it's now included
in the build container.
2022-05-24 10:38:22 +02:00
Rémi Verschelde
bcd0bd19bc Use new containers with mono 6.12.0.158
Also install java 11 ad hoc until new containers are built with it.
2021-10-18 23:04:08 +02:00
Rémi Verschelde
a2e4b98977 Minor fixes (typo, fix git owner too) 2021-08-10 11:16:14 +02:00
Rémi Verschelde
e11c111d4a Fix release tarball folder name after #44 2021-08-04 13:40:18 +02:00
Rémi Verschelde
f2e9922e2d Make tarball with Git hash info, use env status override
Depends on https://github.com/godotengine/godot/pull/51001 and
https://github.com/godotengine/godot/pull/51002, see the PRs for details.
2021-07-29 12:32:50 +02:00
Rémi Verschelde
295431f722 Update scripts for overhauled build containers (3.x-mono-6.12.0.147)
Cf. https://github.com/godotengine/build-containers/pull/84

- Linux builds are now done on Fedora using a custom Godot SDK instead of
  relying on an old Ubuntu version for portability.
  Removes need for various workarounds.
- macOS Mono builds now include support for Apple Silicon / arm64, both
  architectures are concatenated in universal binaries.

This new config is compatible with the `3.x` branch for Godot 3.4.
It might or might not work as is for `master` / Godot 4.0. Porting it will
be the next step.
2021-07-13 12:12:05 +02:00
Rémi Verschelde
9d80bcad67 Use images version 3.x-mono-6.12.0.122
Follow-up to https://github.com/godotengine/build-containers/pull/77.

OSX/iOS: Now using Xcode 12.4 and newer osxcross
`NO_LDID` no longer needed as osxcross is no longer fake-signing with LDID.
2021-03-28 01:34:12 +01:00
Rémi Verschelde
78d64f285a macOS: Disable LDID fake signing for arm64
It doesn't work and makes it impossible to sign binaries properly
without using --force.
2021-03-28 01:26:44 +01:00
Rémi Verschelde
2e2fa65c67 Merge pull request #25 from goostengine/config-build-name
Make `BUILD_NAME` globally configurable
2021-03-06 16:21:59 +01:00
Andrii Doroshenko (Xrayez)
f40716e53e Make BUILD_NAME globally configurable 2021-03-06 17:16:24 +02:00
Rémi Verschelde
abe22bbfcb Fix permissions on generated files/folders when running as sudo 2021-02-24 12:01:06 +01:00
Rémi Verschelde
8eae1668f5 Mono 6.12.0.114, EMSDK values now defined in container 2021-01-27 21:05:01 +01:00
Rémi Verschelde
744b520910 Skip download by default 2020-11-26 16:21:11 +01:00
Rémi Verschelde
c44015dcec OSX: Build universal binaries with ARM64 2020-11-19 13:09:49 +01:00
Rémi Verschelde
046ad85d00 Bump image version to 3.2-mono-6.12.0.111 2020-11-19 13:06:11 +01:00
Rémi Verschelde
4b05de4339 build.sh: Validation version in Git repo to prevent mismatch 2020-07-31 13:29:23 +02:00
Rémi Verschelde
0341022b36 Mono: Add support for iOS 2020-04-16 11:04:42 +02:00
Rémi Verschelde
1da72c73c3 Use local images version 3.2-mono-6.6.0.166
This is a hack I've been keeping locally for a while but now I need to
commit it to make other changes.

This should be refactored to allow selecting either registry or local
images without having to hack the build script.
2020-04-14 17:07:22 +02:00
Rémi Verschelde
067d3f3a49 Refactor build scripts to allow building only Classical or Mono
The in-container build scripts now get passed CLASSICAL and MONO env
variables which can be used to build one or the other, or both
(default).

`build.sh`, `build-release.sh` and `build-templates.sh` now all expect
command line switches to specify the version details, and optionally
which flavor to build.

For example to build Mono only:

  ./build.sh -v 3.2-beta4 -g master -b mono
  ./build-release.sh -v 3.2-beta4 -b mono
  ./build-templates.sh -v 3.2-beta4 -t 3.2.beta4 -b mono

Also took the opportunity to do some extra cleanup, like removing
unnecessary `builtin_*` options since they all default to True, even
for Linux in 3.2, as well as `use_lto` and `use_static_cpp` options
on platforms which don't implement them.

And I improved the `build-release.sh` script to be a bit easier to
read, and avoid having too many stray folders to cleanup.
The build scripts should now generate the final structure that we'd use
on the official mirrors, with the `mono` distribution as a subfolder of
the main release folder.
2019-12-13 20:05:40 +01:00
Rémi Verschelde
77091a9872 Mono: WebAssembly and Server builds, pack BCL 2019-12-02 10:06:49 +01:00
Rémi Verschelde
09b605f7b9 Make number of build cores configurable in config.sh 2019-12-02 09:57:41 +01:00
Rémi Verschelde
5ee9f371bd Add config.sh for default registry and code signing
It is gitignore'd so users can put their private details there
(path to keystore and most importantly password) without having
to version them in git.
2019-12-02 09:57:41 +01:00
Rémi Verschelde
e583fcba03 Cosmetic cleanup and slight refactoring
- Drop unused mandatory -t argument in build.sh.
- Remove infinite retries for OSX and iOS, builds now seem to
  succeed right away and it prevents exiting the script.
- Factor out iOS SDK version.
- Make build order consistent in build.sh and build-release.sh
- Removing trailing whitespace.
2019-12-02 09:57:40 +01:00
Hein-Pieter van Braam-Stewart
8aba1f833a Initial commit 2019-10-01 22:06:35 +02:00