Modernize retained Linux WebGL CMake baselines

This commit is contained in:
2026-06-05 13:16:54 +02:00
parent 8a4ca331cb
commit 35477978e5
7 changed files with 99 additions and 10 deletions

View File

@@ -17,8 +17,8 @@ Keep it updated as platform paths move to shared CMake targets.
| Android standard | `android/android/build.gradle`, `android/android/CMakeLists.txt` | Retained native library target `native-lib`; CMake 3.10/C++23 baseline now links the standard arm64 package path with modern component/service sources and the generated `nanort` overlay helper |
| Android Quest | `android/quest/build.gradle`, `android/quest/CMakeLists.txt` | OVR SDK imported libraries; CMake 3.10/C++23 baseline and current Yoga source list configure with the shared Android package compatibility helper |
| Android Focus/Wave | `android/focus/build.gradle`, `android/focus/CMakeLists.txt` | Wave SDK imported libraries; CMake 3.10/C++23 baseline and current Yoga source list configure with the shared Android package compatibility helper |
| Linux | `linux/CMakeLists.txt` | Old CMake 3.4, C++14 flag |
| WebGL/Emscripten | `webgl/CMakeLists.txt` | Old CMake 3.4, WebGL2 flags |
| Linux | `linux/CMakeLists.txt` | Retained app target now uses CMake 3.10 and target-level C++23 while package/root target migration remains open |
| WebGL/Emscripten | `webgl/CMakeLists.txt` | Retained WebGL app target now uses CMake 3.10 and target-level C++23 with retained WebGL2/Emscripten link flags |
## Existing Version Generation
@@ -211,6 +211,11 @@ powershell -ExecutionPolicy Bypass -File scripts\automation\apple-remote-build.p
`panopainter_platform_build_apple_remote`. These targets call the existing
platform automation scripts from CMake and keep platform validation discoverable
from the CMake target graph while app/package target migration remains open.
- Retained Linux and WebGL app CMake entrypoints are still separate from root
CMake, but now share the modernization baseline of CMake 3.10 and
target-level `cxx_std_23`. `panopainter_retained_platform_cmake_self_test`
guards those baselines until these entrypoints are replaced by shared root
CMake package/app targets.
- Root CMake exposes named `fuzz` and `stress` CTest presets. `fuzz` currently
runs deterministic parser/serializer edge tests for binary streams, image
metadata, PPI, stroke scripts, and layout XML; `stress` currently runs the

File diff suppressed because one or more lines are too long

View File

@@ -1412,6 +1412,11 @@ checks: `panopainter_package_readiness`,
`panopainter_android_native_package_smoke`. App/package entrypoints still need
to consume shared targets and remain covered by debt until package validation
is migrated from legacy package projects to root CMake.
Retained Linux and WebGL app CMake entrypoints now match the interim platform
baseline used by Android package paths: CMake 3.10 plus target-level
`cxx_std_23`, with `panopainter_retained_platform_cmake_self_test` guarding
against regressions while those entrypoints wait behind root CMake package/app
target migration.
Apple compile validation now runs on the local Mac mini SSH host
`panopainter-mac` through `scripts/automation/apple-remote-build.ps1`. The host
uses Homebrew CMake/Ninja/Git plus full Xcode via `DEVELOPER_DIR`, pulls the
@@ -2413,6 +2418,11 @@ Results:
panopainter_windows_app_package_smoke`, which builds the CMake `PanoPainter`
app target, validates the executable/runtime `data/` copy, and reports the
still-blocked Windows AppX package state.
- Retained Linux and WebGL app CMake files now use CMake 3.10 and target-level
C++23 instead of global C++14 flags; `python
scripts/dev/check_retained_platform_cmake.py` and CTest
`panopainter_retained_platform_cmake_self_test` guard those baselines while
the actual Linux/WebGL app/package targets remain outside root CMake.
- Root CMake now exposes platform validation targets for the default headless
platform-build sweep, the Android standard/Quest/Focus root CMake asset
component sweep, the vcpkg-backed UI core dependency boundary, and the