Notes:
- We can actually use a single Activity.java file for oculus/pico now
- We can unconditionally compile os_android.c on Android
- No need for including extra jars in build system
- Headset rendering is guaranteed synchronous now, no need to ref L
- Add an "android flavor" build setting to differentiate between oculus
and pico devices, since they both use OpenXR.
- Update the pico manifest to reflect their OpenXR sample
- Remove some OpenGL hacks that aren't necessary anymore
dx was deprecated years ago, and d8 replaces it. dx is
removed in build-tools 31, so it's best not to depend on it.
In addition, d8 now supports Java 11 (class version 55), which
is required to use the javac bundled with Android Studio.
So that projects that use lovr as a submodule can
inject their own plugins.
By picking them up from the _root_ project, whatever project that
is embedding lovr can decide for itself what plugins to use. This
is cleaner than using a separate glob and a variable in the case
where lovr will never come bundled with a standard set of plugins.
A previous change modified the rpath to always be @executable_path.
This patch moves all libraries next to the executable, so that they can
load properly with the new rpath. For better organization, everything
is nested into a bin directory. This is congruent with how linux works.
Bundled builds remain the same -- they are using @executable_path like
before, and libraries get moved next to the executable inside the .app.
It uses a deprecated version of CMake, creates weird directories,
is slow to compile, and causes tup to rely on CMake more. Instead,
just use its binary artifacts directly.