Files
Jungfraujoch/preview
leonarski_fandClaude Opus 5 46ed703eca libjpeg-turbo: follow the parent build's toolchain when cross-compiling
libjpeg-turbo is brought in with ExternalProject_Add rather than FetchContent,
because upstream does not support inclusion via add_subdirectory. An
ExternalProject is a separate cmake invocation that inherits nothing from its
parent, and the CMAKE_CACHE_ARGS here named only the feature options, so it
always configured for the build host.

That is invisible in a native build and fatal in a cross build: the library
compiles for x86_64 inside an aarch64 build and the mistake only surfaces at
the final link of whatever consumes it, as an architecture mismatch on
libjpeg.a rather than anything pointing at this file. rugnux reaches it through
JFJochWriter -> JFJochPreview, so it is on the path of every build, not just the
viewer's.

Forward the toolchain file and the compiler. CMAKE_TOOLCHAIN_FILE is empty in a
native build and cmake ignores it there, so nothing changes off the cross path.
libjpeg-turbo selects its own SIMD from the target architecture, so this also
gets the NEON kernels for free on aarch64 and stops nasm from being consulted at
all; a cross-compiled libjpeg.a comes out ELF aarch64 with 14 NEON objects.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SQjneRUssfhi1k9rq8Ts3h
2026-08-25 19:20:43 +02:00
..
2025-05-28 18:49:27 +02:00
2026-04-16 11:59:59 +02:00
2026-07-12 19:42:29 +02:00
2026-06-23 20:29:49 +02:00
2026-04-16 11:59:59 +02:00
2026-06-08 08:30:35 +02:00
2026-08-13 17:03:10 +02:00
2026-07-11 07:19:11 +02:00
2025-03-02 13:15:28 +01:00
2025-05-28 18:49:27 +02:00
2026-06-08 08:30:35 +02:00
2025-07-08 20:19:59 +02:00
2026-06-08 08:30:35 +02:00