Build and run
Full build
From the analysis root:
source tea/build.sh
The script configures CMake, builds and installs the project into bin/,
links Python files there, and prepares the current terminal to run the
analysis. It preserves the existing build unless you request a clean build:
source tea/build.sh --clean
Both build.sh and setup.sh select the exact dependency lock for the current
platform. If its shared environment is missing, they recreate it. Dependency
versions are not resolved or updated during an ordinary build.
In a new terminal where no rebuild is needed, activate the same environment and analysis paths with:
source tea/setup.sh
Run an application
Applications are designed to run from bin/:
cd bin
./histogrammer --config histogrammer_config.py
./skimmer --config skimmer_config.py
python plotter.py --config minimal_plotter_config.py
These commands use example configs linked into bin/ by the build. Python
applications provide --help; for compiled C++ applications, follow the
command shown on the relevant documentation page. Run the applications from
bin/ so that relative paths in the example configs resolve correctly.
No environment-specific runner is needed. After sourcing build.sh or
setup.sh, continue to use python app_name.py and ./app_name directly.
Build after changes
Run the same build command after adding generated code, adding a Python config, or changing C++:
source tea/build.sh
The script reuses the existing build when it can, so there is no separate
incremental-build command to remember. Python configs and scripts are linked
into bin/; editing an existing Python file does not require another build.
When a tea update changes the dependency lock, the shared environment path also
changes. build.sh detects the new compiler and library paths and clears stale
CMake state automatically.