Investigate Freedesktop SDK to build what goes into an AppImage.
Freedesktop SDK claims to be distribution agnostic, desktop environment agnostic, and package format agnostic:

- So how do we compile something using Freedesktop SDK without Flatpak? Let's start with GNU Hello https://www.gnu.org/software/hello/
- Which version of Freedesktop SDK do we need to use so that binaries compiled using it will run with the Platform "runtime" that comes by default with all still-supported distributions? (I mean, not a real Freedesktop runtime but the OS itself.)
- In case we would allow a Freedesktop Platform (runtime) to be required to run an AppImage, how large would the recent Freedesktop Platform (runtime) be (as a squashfs image)? -->
mksquashfs /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/19.08/active/files/ org.freedesktop.Platform_19.08_x86_64 209 MB, Sdk 520 MB
- Why is Snappy not using Freedesktop Platforms but their own Base Snaps?
- What would the advantage be to use Freedesktop Platforms rather than Base Snaps?
- How often do new versions of the Freedesktop Platform appear? (Hopefully only once after every few years!)
- Is there a backward binary compatibility guarantee, e.g., saying that binaries compiled with Freedesktop SDK version i will run on Freedesktop Platform i, i+1, ... i+n? What is n?
- What is
org.freedesktop.Platform.Compat? it is undocumented on http://docs.flatpak.org/en/latest/available-runtimes.html
Investigate Freedesktop SDK to build what goes into an AppImage.
Freedesktop SDK claims to be distribution agnostic, desktop environment agnostic, and package format agnostic:
mksquashfs /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/19.08/active/files/ org.freedesktop.Platform_19.08_x86_64209 MB, Sdk 520 MBorg.freedesktop.Platform.Compat? it is undocumented on http://docs.flatpak.org/en/latest/available-runtimes.html