Files
Jungfraujoch/tools/CMakeLists.txt
T
leonarski_fandClaude Opus 5.5 d172f22074 tools: remove jfjoch_mr_replay
A developer tool, not built or installed upstream. It also failed to link in both portable builds
(static cuFFT without the device-link step on Linux with CUDA, ws2_32 on Windows).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
2026-10-12 12:59:43 +02:00

66 lines
3.3 KiB
CMake

# Offline analysis CLI tools. These link only the portable libraries (reader,
# image_analysis, writer, common), so they build in viewer-only / Windows packages too
# and install into the "viewer" component.
# jfjoch_extract_hkl and jfjoch_recompress are developer utilities: still built, deliberately not
# installed into any package. They used to ride inside the viewer tarball, which is part of what
# made that artifact confusing.
ADD_EXECUTABLE(jfjoch_extract_hkl jfjoch_extract_hkl.cpp
XdsIntegrateParser.cpp
XdsIntegrateParser.h)
TARGET_LINK_LIBRARIES(jfjoch_extract_hkl JFJochReader)
# rugnux, the single offline analysis CLI, lives in rugnux/ next to its library.
# In-place re-compress /entry/data/data of a _data file from bitshuffle/LZ4 to bitshuffle/zstd.
ADD_EXECUTABLE(jfjoch_recompress jfjoch_recompress.cpp)
TARGET_LINK_LIBRARIES(jfjoch_recompress JFJochHDF5Wrappers)
# On Windows these CLIs get getopt/getopt_long from the vendored wingetopt shim (libc has none).
IF (WIN32)
TARGET_LINK_LIBRARIES(jfjoch_extract_hkl wingetopt)
ENDIF()
# Online / hardware tools (broker, FPGA, receiver, detector). They link the non-portable
# libraries and are Linux-only, so they are skipped in a viewer-only build.
IF(NOT JFJOCH_PORTABLE_ONLY)
ADD_EXECUTABLE(jfjoch_udp_simulator jfjoch_udp_simulator.cpp UDPSimulator.cpp UDPSimulator.h)
TARGET_LINK_LIBRARIES(jfjoch_udp_simulator JFJochCommon)
INSTALL(TARGETS jfjoch_udp_simulator RUNTIME COMPONENT jfjoch)
ADD_EXECUTABLE(jfjoch_hdf5_test jfjoch_hdf5_test.cpp)
TARGET_LINK_LIBRARIES(jfjoch_hdf5_test JFJochWriter JFJochReceiver JFJochCommon)
INSTALL(TARGETS jfjoch_hdf5_test RUNTIME COMPONENT jfjoch)
# Not installed: replays a stored dataset as a DECTRIS detector's image stream, to run the broker
# without a detector (demonstrations and tests).
ADD_EXECUTABLE(jfjoch_stream2_replay jfjoch_stream2_replay.cpp)
TARGET_LINK_LIBRARIES(jfjoch_stream2_replay JFJochReader JFJochZMQ CBORStream2FrameSerialize JFJochCommon)
ADD_EXECUTABLE(jfjoch_pcie_status jfjoch_pcie_status.cpp)
TARGET_LINK_LIBRARIES(jfjoch_pcie_status JFJochDevice JFJochCommon)
INSTALL(TARGETS jfjoch_pcie_status RUNTIME COMPONENT jfjoch)
ADD_EXECUTABLE(jfjoch_pcie_net_cfg jfjoch_pcie_net_cfg.cpp)
TARGET_LINK_LIBRARIES(jfjoch_pcie_net_cfg JFJochDevice JFJochCommon)
INSTALL(TARGETS jfjoch_pcie_net_cfg RUNTIME COMPONENT jfjoch)
ADD_EXECUTABLE(jfjoch_pcie_clear_net_counters jfjoch_pcie_clear_net_counters.cpp)
TARGET_LINK_LIBRARIES(jfjoch_pcie_clear_net_counters JFJochDevice JFJochCommon)
INSTALL(TARGETS jfjoch_pcie_clear_net_counters RUNTIME COMPONENT jfjoch)
ADD_EXECUTABLE(jfjoch_fpga_test jfjoch_fpga_test.cpp)
TARGET_LINK_LIBRARIES(jfjoch_fpga_test JFJochReceiver)
INSTALL(TARGETS jfjoch_fpga_test RUNTIME COMPONENT jfjoch)
ADD_EXECUTABLE(jfjoch_simplon_test jfjoch_simplon_test.cpp)
TARGET_LINK_LIBRARIES(jfjoch_simplon_test JFJochDetector JFJochPreview)
INSTALL(TARGETS jfjoch_simplon_test RUNTIME COMPONENT jfjoch)
ADD_EXECUTABLE(jfjoch_lite_perf_test jfjoch_lite_perf_test.cpp)
TARGET_LINK_LIBRARIES(jfjoch_lite_perf_test JFJochReceiver JFJochWriter)
INSTALL(TARGETS jfjoch_lite_perf_test RUNTIME COMPONENT jfjoch)
ADD_SUBDIRECTORY(xbflash.qspi)
ENDIF()