rugnux: move rugnux_cli.cpp from tools/ to rugnux/

The offline analysis CLI belongs next to its Rugnux library. Move the source and
the ADD_EXECUTABLE(rugnux ...) target (plus the Windows wingetopt link) into
rugnux/CMakeLists.txt; the ../reader, ../common, ../image_analysis includes are
unchanged (both dirs sit one level under the root) and ../rugnux/Rugnux.h becomes
a local Rugnux.h. rugnux/ is added before tools/ in every build config, so
viewer-only and Windows packages still get the CLI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-11 22:39:12 +02:00
co-authored by Claude Opus 4.8
parent b1cd49c6b5
commit f737424bdf
3 changed files with 13 additions and 7 deletions
+11
View File
@@ -9,3 +9,14 @@ ADD_LIBRARY(Rugnux STATIC
)
TARGET_LINK_LIBRARIES(Rugnux JFJochReader JFJochImageAnalysis JFJochWriter)
# rugnux is the single offline analysis CLI: full pipeline by default, plus --azint-only
# (azimuthal integration) and --scale (re-scale/merge stored reflections) modes.
ADD_EXECUTABLE(rugnux rugnux_cli.cpp)
TARGET_LINK_LIBRARIES(rugnux Rugnux JFJochReader JFJochImageAnalysis JFJochWriter)
INSTALL(TARGETS rugnux RUNTIME COMPONENT viewer)
# On Windows this CLI gets getopt/getopt_long from the vendored wingetopt shim (libc has none).
IF (WIN32)
TARGET_LINK_LIBRARIES(rugnux wingetopt)
ENDIF()
@@ -28,7 +28,7 @@
#include "../image_analysis/scale_merge/ResolutionCutoff.h"
#include "../image_analysis/scale_merge/TwinningAnalysis.h"
#include "../image_analysis/scale_merge/SearchSpaceGroup.h"
#include "../rugnux/Rugnux.h"
#include "Rugnux.h"
// Default rot3d per-frame scale-G smoothing range (XDS DELPHI-like), in degrees of rotation.
constexpr double SMOOTH_G_DEFAULT_DEG = 5.0;
+1 -6
View File
@@ -8,11 +8,7 @@ ADD_EXECUTABLE(jfjoch_extract_hkl jfjoch_extract_hkl.cpp
TARGET_LINK_LIBRARIES(jfjoch_extract_hkl JFJochReader)
INSTALL(TARGETS jfjoch_extract_hkl RUNTIME COMPONENT viewer)
# rugnux is the single offline analysis CLI: full pipeline by default, plus --azint-only
# (azimuthal integration) and --scale (re-scale/merge stored reflections) modes.
ADD_EXECUTABLE(rugnux rugnux_cli.cpp)
TARGET_LINK_LIBRARIES(rugnux Rugnux JFJochReader JFJochImageAnalysis JFJochWriter)
INSTALL(TARGETS rugnux RUNTIME COMPONENT viewer)
# 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)
@@ -22,7 +18,6 @@ INSTALL(TARGETS jfjoch_recompress RUNTIME COMPONENT viewer)
# 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)
TARGET_LINK_LIBRARIES(rugnux wingetopt)
ENDIF()
# Online / hardware tools (broker, FPGA, receiver, detector). They link the non-portable