It didn't work because it didn't have the right target directories listed, but even with the right directories it wouldn't work because they get wiped by CMake when it starts building.
UV's use of a lockfile makes building the docs more reliable, and it installs the dependencies faster too (though in CI that's largely hidden by having to install Doxygen every time).
It doesn't have any effect with the 7Z generator that's used on Windows, but I've added it for Windows anyway in case that changes in a future version of CMake.
This is a little awkward because libloot only needs Boost's headers, but it doesn't supply a CMake config unless it's built, so we build the system stub to make that happen as quickly as possible.
The ubuntu-20.04 runner is due to be deprecated on 2025-02-01 and
unsupported by 2025-04-01.
The ubuntu-24.04 runner does not include cbindgen, so it's now installed
using apt.
GCC 10 doesn't support the newer libtbb that is in Ubuntu 24.04's apt
repositories, so update to GCC 13.
The behaviour of std::filesystem::equivalent changed at some point
between GCC 10 and GCC 13, so the tests have been updated to reflect
that.
Run the build to prove it works, but don't publish the archive because LOOT no longer needs it, and it's not very portable to other Linux distributions or versions of Ubuntu, and people might try to use it instead of building from source.
This is so that LOOT can be packaged as a Flatpack package that uses the
KDE runtime's ICU libraries, which are v71.1, and so avoid bundling
a different version.
JFrog will deactivate the free account that LOOT's Artifactory is owned
by on 2023-07-02, at which point it'll no longer be possible to upload
artifacts there.
In preparation for not having an "official" hosting location for the
artifacts once my JFrog account is closed, so that the authenticity of
files hosted elsewhere can be verified.
The public key is hosted on the loot.github.io website.