diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..6839d3ea --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,148 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## What this is + +musrfit is a C++ data analysis package for time-differential μSR (muon spin rotation/relaxation) +and β-NMR data. It provides a fitting engine (`musrfit`), a viewer (`musrview`), Fourier transform +tools, run-management utilities, and a set of Qt-based GUI applications (musredit, musrWiz, +musrStep, mupp). It builds on CERN ROOT (Minuit2 for minimization) and depends on Boost, GSL, +FFTW3, and LibXml2. + +## Build + +Out-of-source CMake build only (in-source builds are refused). `ROOTSYS` must be set/sourced +before configuring (`. $ROOTSYS/bin/thisroot.sh` or equivalent). + +``` +mkdir build && cd build +cmake .. -DCMAKE_INSTALL_PREFIX=$ROOTSYS +cmake --build . --clean-first +cmake --install . # installs binaries + writes ~/.musrfit XML config +``` + +An existing `build/` tree from a prior configure already lives at `build/` in this checkout +(git-ignored). Reconfigure with `cmake ..` inside it rather than creating a second build dir. + +Key CMake options (`-D