On macOS, CMake incorrectly tries to add and/or remove rpaths from files
that it has already processed when it performs installation. Setting the
rpaths during the build process ensures that they are only set once, and
as a bonus, makes installation slightly more performant.
Fixes#10055.
This version now natively supports read-only caches (`cache/restore@v3`)
so we no longer need to pin the version to a commit in actions/cache#489
which is an unmerged PR.
The update is mostly mechanical:
- Steps with `CACHE_SKIP_SAVE` not set can use the plain `cache@v3`
action.
- Steps with `CACHE_SKIP_SAVE` set to a constant `true` are changed to
`cache/restore@v3`.
- Steps with saving disabled when running on a pull request are changed
to a pair of `cache/restore@v3` and `cache/save@v3`. This setup is
used for the large (100s of MB) ccache and Toolchain caches. As caches
saved in pull requests can only be utilized from within the same PR,
uploading these would only waste time and our storage quote.
Therefore, we skip the `save` steps if running on a PR.
Co-authored-by: Cameron Youell <cameronyouell@gmail.com>
This reverts commit b0606d90f0.
This seems to prevent libegl-mesa0 from being installed (which for some
reason isn't failing the Azure jobs - the failure seen later is that
ccache is not installed).
This is to allow using more recent C++20 features in upcoming commits.
Version 3.1.6 is what is installed on Ubuntu 22.10 and works with the
C++20 features we want.
They currently reside under Build/<arch>, meaning that they would be
redownloaded for each architecture/toolchain build combo. Move them to a
location that can be re-used for all builds.