JeffersonLab / hcana

Hall C++ Analyzer
7 stars 118 forks source link

Experimental CMake support #376

Closed hansenjo closed 6 years ago

hansenjo commented 6 years ago

First version of a CMake build system for hcana. Requires Podd at commit JeffersonLab/analyzer@aa4c6a8, which was just checked in today.

Does not expect (and in fact won't work with) any CMake-specific modifications to EVIO. The EVIO remote code download does not work yet, but it's on the to-do list. So currently, install EVIO separately and set $CODA to point to the installation directory.

The Podd submodule is built as part of the hcana build process. Source files are found in the Hall C-preferred way, i.e. with filename globbing, in the same way SCons does. Similarly, the LinkDef is auto-generated from the list of found files.

When building with CMake, beware of a possible existing file src/hc_compiledata.h left over from previous SCons runs. It would be picked up instead of the CMake-generated one. Just remove it (and do scons -c) before doing anything CMake-ish.

To run hcana right after building, do ./src/hcana. Alternatively, run make install and set your PATHs accordingly. See the README.

No existing code has been modified, so this addition should be completely transparent to current use.

Please give it a spin and let me know if anything is amiss.