46ed703eca69ad7de1946c38df915e5e99bd2015
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
Jungfraujoch
Application to receive data from the PSI JUNGFRAU and EIGER detectors.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
75.2%
HTML
7.6%
C
6.1%
TypeScript
4.2%
Cuda
2.2%
Other
4.6%