-
Notifications
You must be signed in to change notification settings - Fork 63
Revamp external_deps build, update lib versions, switch to SDL3 #1433
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
Conversation
O3 because we use CMake Release build type that sets O3 anyway, so things are consistent.
Co-authored-by: slipher <[email protected]>
For
Everything else build. |
For
Everything else build. |
cc59996
to
bd1e318
Compare
|
When building newer Opus on Debian buster (the distro we use for our releases), I get this:
Debian Buster provides GCC 8, but GCC 11.3 or GCC 12 may be required: |
Telling Opus to not assume more than SSE2 fixed that. |
So, the MinGW GLEW and MSVC Vorbis errors are the only ones. |
So the Vorbis build error is actually a bug:
I added a workaround. |
I don't get why I get that GLEW build error with MinGW, the build function has not been modified, and the version has not been updated. |
Also the code is the same for both |
So, I don't know what happened, now I don't reproduce the MinGW GLEW error… Maybe I gorgot to prune the prefix folder and some stray files messed-up… |
Ah, I now see something: I reproduce the bug with MinGW from Ubuntu 24.04 Noble, not with MinGW from Debian 10 Buster. So, since we produce release builds with Debian Buster, it's not a big problem, but it should be fixed for the future… |
What's the purpose of migrating things to build with CMake? |
03961c7
to
c537fe9
Compare
So with this a static build for linux-amd64 completes and runs. |
Huh? It worked before, so I have a hard time believing that is suddenly necessary to change the build system of 8 packages. |
I never said this is a response to “What's the purpose of migrating things to build with CMake?”, I'm just reporting the status of me testing that branch. I said in first post:
So now I'm running those tests. |
What's the motivation behind this change? |
Purposes:
When using configure it is hard to compare the list of already used options with the new options, one has to read configure's whole output and compare with what's currently used. On the contrary with cmake, one just runs the existing command, then go to the build dir and run ccmake, and see what's enabled and should not, and report the difference to the build script. |
ac1c6e1
to
5653846
Compare
… and use them Co-authored-by: slipher <[email protected]>
5860e20
to
c73312c
Compare
windows-amd64-mingw and windows-i686-mingw engine both build and run. |
For some reasons libpng now provides |
I got Wayland working with the cross-compiled arm64 engine. |
8b4453f
to
f16002f
Compare
Please remove non-essential commits like |
f16002f
to
6d20c51
Compare
Commit renamed to
Done. I needed them for debugging but that can be merged later indeed.
Done
Commit removed. |
4b2a1c5
to
ecb25b7
Compare
I rebuilt and uploaded the current deps archives for testing. I also rebuilt an unizip using docker. So here is the current “unfinished unizip”, but good enough for testing engines: |
Oh no, lol, forget about that unizip for anything that is not linux, they used previous deps. Well, the deps for macOS and Windows shouldn't be that different, since the last time I built them, what I did was to enable Wayland. I'm rebuilding anyway. |
Here is the rebuild: |
b9c12e5
to
8231cb9
Compare
So, armhf engine on armhf distro has no input issue. The issue only happens on armhf engine on arm64 distro. Since we have a working arm64 engine, there is no reason to worry. So I'm not aware about remaining input bugs. @slipher did you have a remaining one with macOS? A new SDL3 release was published some days ago. It mentions some macOS fixes, I'll rebuild the deps and the test unizip soon. |
I noticed we still install some libjpeg-turbo CMake files. We can strip them out I guess. |
The Mac issue was that the game doesn't grab focus when it starts (tested in fullscreen mode). You have to alt tab out and in for the game to start accepting inputs. I don't see it as blocking this PR. I'll want to fix it before any Unvanquished release, but we can do it after merging the deps update. |
So I uploaded new deps with SDL 3.2.22 and the removal of libjpeg-turbo CMake stuff, and rebuilt the test unizip: |
OK thanks. All the other issues I have faced with SDL3 are now gone. So it looks like we are good to go! 😀 |
There is something that makes the CI loops the CMake call, in both CodeQL and Azure, I have no idea what! |
The code LGTM. Some commit reordering/squashing may be in order:
|
Seems to be those bogus timestamps that you are using in the deps archives. (This time the fake timestamp was in the future.) |
Funny! |
After a restart, the CI passed. I'll do the remaining squashes later, and I believe we will be ready! Finally! 🚀 |
f484286
to
ff61bd8
Compare
Done! 🎉 SDL3 is now a thing! |
Current external_deps build status:
I haven't tested if the engine builds and runs properly with those.WIPWhat this PR does:
CMakeLists.txt
file