-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish on asset library & bundling distributable files #12
Comments
I'm having trouble keeping up but here some examples of github action. See https://github.com/tefusion/godot-subdiv and https://github.com/ashtonmeuser/godot-wasm |
I wrote up a proposal here #17 and I'll look into this. |
Since we are going to cross-platform via Github actions, I should list down the important key points so that I don't forget:
|
I've attempt on tackle this problem. My work is on build-workflow branch. I've define all the possible targets and their host platform. Now I just need to setup CMake Toolchain file for each platform, and hopefully it will be done. |
Progress report:
|
It seems very complicated tbh. To me it feels like the main problem is setting up the build for everything. What I have ended up doing for other GDExtensions is just porting the CMakeLists.txt file to SConstruct. Basically saying in SConstruct all dependencies, all files, all headers, all defines, etc. The benefits of this is that you can use the normal godot-cpp build system, that already works for all environments it exports to. Are you also interested in doing so? |
Take a look at https://github.com/V-Sekai/godot-whisper for example. The Whisper.CPP project does have a CMakelists where they define everything(haven't ended up porting everything yet). Just include all the files from there and kinda do what the CMake build system does in SConstruct. Then, run the build as you would normally. Also, if you are interested, I am working on building a set of reusable actions for godot-cpp so that people can reuse and build for multiple platforms and with different options with little problem. |
There is also the popular Godot Jolt, which uses CMake as you do. But it doesn't have web or mobile builds I think, or it's hard to do as it has to write all that by hand from scratch and make sure compilers match, etc. |
Though I've already speak about this in the super secret discord group chat, but I'll still repeat this for future references. The hustle is mostly done. I don't know scons can fix these issue... iOSThe headache part is that it needs some host binary if it goes cross platform, and if the binary depends on the llvm, then we got to include them as well through the submodule as llvm from most of the package manager is not nightly. The problem is the compile time if we compile LLVM.... x8632 and armIt is IREE's code and not the build system, they did some oopsies here and there and no one test out by targeting x8632 and arm. OpenXLA IREE the code change too fastAs the title said, IREE is much active. Code changes a lot. |
Temporary disabling MacOS and LinuxARM build workflowNow, universal MacOS build won't work because of
Linux ARM build also doesn't work.
Someone would need to hack into IREE's code and fix this error by casting it to
Cool that we are helping IREE by testing it to compile in different environment. Thus, the workflow will be disabled until IREE's code is fixed. Do notify me if it is fixed. Update: Possible Bandage Found for Mac OS 🩹For Mac OS, There is a Something worth reading. |
Reaching alphaAfter this issue regarding failing build is resolved, I think I'll publish alpha version as my building and publishing workflows are nearly complete. This version will only include:
The rest (MacOS, Linux arm and IOS) is, unfortunately, still failing so hard that I guess I'll delay the fix to the next alpha version. Before publishing the alpha version, I'll still need to:
|
First alpha 🎆 |
Linux ARM is fixed, but not for Mac OS and IOS. I'm not planning to include them into releases, unless this technical issue is fixed. Edit: It is fixed. |
Published at https://godotengine.org/asset-library/asset/2639 |
So
iree.gd
will soon to be on asset library. Unfortunately I have no knowledge on:I do tried writing a simple python script that generate
.gdextention
file, hopefully it is helpful.The text was updated successfully, but these errors were encountered: