You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Having pre-built binaries distributed with each release makes the lives of everyone using the library so much easier. Starting with the 3.2 release, there are binaries for many popular platforms and operating systems, including Windows, Mac OS, iOS, Android. This saves us the need to setup and maintain numerous build environments for each platform/operating system ourselves. There are no binaries for Linux, though, which is a bummer.
To use the library on Linux, one has to setup and maintain their own build environment for that sole purpose, which is not ideal. For instance, I usually tend to maintain external dependencies like this using a package manager like vcpkg. Needles to say, on Linux this does not quite work. You can't just vcpkg install your dependencies and call it a day. Instead, you are greeted with any number of compile-time errors during install. The real solution usually involves cloning the source code of SDL, then fighting with CMake for a few days to make it compile. The build instructions in the documentation are hardly sufficient. There is always something else that is missing or misconfigured on our own work environments. Eventually, after spending a couple of days, one can make it compile, but it all feels like a wasted effort.
I am aware that providing pre-built binaries for Linux is not as simple as that. It is not possible to build universal binaries that run on every possible Linux distribution under the sun. Is is possible to provide some binaries thar run on the most popular distributions, however. I am pretty sure you are already doing that behind the scenes, during CI builds. You can just publish the latest Linux binaries you already have with each release, including a short README on which Linux distributions they are tested and supposed to work. I am pretty sure that would cover the needs of 90% of the people here.
The text was updated successfully, but these errors were encountered:
Having pre-built binaries distributed with each release makes the lives of everyone using the library so much easier. Starting with the 3.2 release, there are binaries for many popular platforms and operating systems, including Windows, Mac OS, iOS, Android. This saves us the need to setup and maintain numerous build environments for each platform/operating system ourselves. There are no binaries for Linux, though, which is a bummer.
To use the library on Linux, one has to setup and maintain their own build environment for that sole purpose, which is not ideal. For instance, I usually tend to maintain external dependencies like this using a package manager like vcpkg. Needles to say, on Linux this does not quite work. You can't just
vcpkg install
your dependencies and call it a day. Instead, you are greeted with any number of compile-time errors during install. The real solution usually involves cloning the source code of SDL, then fighting with CMake for a few days to make it compile. The build instructions in the documentation are hardly sufficient. There is always something else that is missing or misconfigured on our own work environments. Eventually, after spending a couple of days, one can make it compile, but it all feels like a wasted effort.I am aware that providing pre-built binaries for Linux is not as simple as that. It is not possible to build universal binaries that run on every possible Linux distribution under the sun. Is is possible to provide some binaries thar run on the most popular distributions, however. I am pretty sure you are already doing that behind the scenes, during CI builds. You can just publish the latest Linux binaries you already have with each release, including a short README on which Linux distributions they are tested and supposed to work. I am pretty sure that would cover the needs of 90% of the people here.
The text was updated successfully, but these errors were encountered: