27 Commits

Author SHA1 Message Date
Fabio Alessandrelli
68338ed576 [godot-cpp] Update versions and patches
Update godot-cpp to 4.1.3

Update build profile patches to latest iteration
2025-01-08 10:51:59 +01:00
Fabio Alessandrelli
cf038b2788 [Build] Fix gdextension file after dropping 4.0
Renaming the godot version to "4" resulted in the GDExtension file
incorrectly setting "compatibility_minimum = 4" (instead of "4.1")
2025-01-07 11:13:44 +01:00
Fabio Alessandrelli
9afa5c3a48 Drop Godot 4.0 support
It's been unsupported by upstream for a while now, everyone should
upgrade to a newer version (4.1/4.2/4.3).
2024-10-26 18:57:38 +02:00
Fabio Alessandrelli
0b89ed885d [CI] Add patches to use build profile and speed up builds 2024-06-15 18:37:40 +02:00
Fabio Alessandrelli
34ef1043ee [Linux] Add arm32/arm64 linux builds support
Fix arch detection in GDNative builds (3.x) and add a small patch to
avoid warnings spam on ARM.

Make CMake march flags explicit for Linux arm32/arm64.

Add new platforms to CI.
2024-02-15 22:57:03 +01:00
Fabio Alessandrelli
1831677f63 [Windows/MinGW] Only export extension init symbol
When building for Windows using MinGW GCC we need to apply the same
workaround we use on Linux to only export the necessary symbols so we
can safely statically link libstdc++
2023-12-22 12:12:01 +01:00
Fabio Alessandrelli
b0efc17d3b [Linux] Only export extension init symbol
Since we link with static libstdc++ we need to tell gcc to only export
the necessary symbols.
Using "-fvisibility=hidden" will not work, since libstdc++ explicitly
exports its symbols.
2023-12-22 01:30:01 +01:00
Fabio Alessandrelli
7a4e27e5f0 [MacOS] Use framekwork to package GDExtension
This allows it to be code-signed as a bundle so gatekeeper won't
complain when loaded by the editor.
2023-12-20 12:55:43 +01:00
Fabio Alessandrelli
6d96092f88 Use relative paths in webrtc.gdextension
Allows renaming the extension folder.
2023-10-21 18:14:09 +02:00
Fabio Alessandrelli
cb2be8723a Support building for Godot 4.1 (new default). 2023-06-30 16:52:36 +02:00
Fabio Alessandrelli
552d696e0a Build Linux binaries using the Godot toolchian.
So we link to very old glibc and support ancient distros.
2023-06-30 10:06:06 +02:00
Fabio Alessandrelli
85efdfd6ce Linux ARM32/ARM64, better toolchains support.
Needs updated godot-cpp to build library with custom toolchains.

Make the OpenSSL and CMake tools more customizable letting the user
override the default platform flags via build options.

Improve dependency handling.
2023-06-21 03:54:39 +02:00
Fabio Alessandrelli
8f7cb77f34 [CI] Update static checks, copyright headers. 2023-05-25 04:34:31 +02:00
Fabio Alessandrelli
e8de07dbb1 [CI] Fix python black formatting. 2023-05-25 02:42:26 +02:00
Fabio Alessandrelli
f0af5f9982 [macOS] Add support for universal builds.
Since the OpenSSL build system does not support macOS universal
binaries, we first need to build the two libraries separately, then we
join them together using lipo.
2023-05-24 00:53:28 +02:00
Fabio Alessandrelli
a49a2b03e1 Revert "[Extension] Fix library resource waiting for Godot auto prefix."
This reverts commit 0c10a7f3e3.
2023-01-13 18:09:17 +01:00
Fabio Alessandrelli
0c10a7f3e3 [Extension] Fix library resource waiting for Godot auto prefix. 2023-01-12 15:12:09 +01:00
Jonathan Picques
a3fbd33464 Rename osx to macos in webrtc.gdextension
The plugin wouldn't work with Godot beta 5 because it expects a macos key instead of an osx
2022-11-26 13:56:06 +01:00
Fabio Alessandrelli
690b31e7dd [Upstream] Update to Godot beta 3.
Update build targets.
Move release script out of CI yaml.
Disable debug CI builds for Godot 3.x since they are mostly used for
debugging the extension itself.
2022-10-17 20:59:33 +02:00
Fabio Alessandrelli
d8cbd14a28 Disable android 32 bits builds. 2022-09-11 15:34:08 +02:00
Fabio Alessandrelli
e19b370126 Use libdatachannel library, add Godot 4 support. 2022-06-15 21:38:12 +02:00
Fabio Alessandrelli
72b337e32c static checks. 2021-07-09 18:55:32 +02:00
Fabio Alessandrelli
7b92ab2a7b Add missing iOS armv7 entry. 2021-07-02 18:11:35 +02:00
Fabio Alessandrelli
9e287f7cee Add mac and ios platforms. Fix GDNLibrary. 2021-07-01 23:58:01 +02:00
Rafael Rondao
7a62fe467b Add build support for Android
To build for Android, use platform=android.
ANDROID_NDK_ROOT env variable needs to be defined.

By default, it builds for armv7 with Api 18.
To build for arm64v8 (or x86, x86_64), use android_arch=arm64v8.
64 bits requires at least Api level 21.

If needed, you can change it with android_api_level=XX.

Signed-off-by: Rafael Rondao <rafael.rondao@gmail.com>
2020-11-07 23:01:34 -03:00
Mark Achée
db6d416eba set library paths for Server platform 2020-06-20 12:22:29 -05:00
Fabio Alessandrelli
4b22741255 Build script also create gdnlib 2020-01-03 19:41:07 +01:00