Page MenuHomeHEPForge

Adopt CMake build system
Closed, ResolvedPublic

Description

The current hand-written Makefiles are not sufficiently flexible.
Laura++ will adopt the CMake build system, which is becoming standard across HEP.
This can be done capitalising on the recent experience of migrating the EvtGen package: T12

Event Timeline

tlatham created this task.May 29 2019, 10:16 AM
tlatham triaged this task as Normal priority.
tlatham created this object with edit policy "Laura (Project)".
tlatham changed the visibility from "All Users" to "Public (No Login Required)".Nov 4 2019, 11:39 AM

Everything seems to build OK on gcc8, gcc9 and clang8 on CentOS 7 as well as clang10 on MacOS 10.14

We need to install the libLaura++_rdict.pcm and libLaura++.rootmap files into the library install location.

Still need to test trying to use find_package to build against an installation.

I believe that this task is now completed.
@jback, @mwhitehe, @dpohanlon could one or more of you please test this and report back on this task?
The README has been updated with new instructions, so please clone the package, switch to the cmake branch and then try to follow those to build the library, examples and documentation. Try running some of the examples (including the python one) from the install location.

dpohanlon added a comment.EditedNov 19 2019, 1:52 PM

Works fine with the LCG_96python3 environment (CMake 3.14.3) on CentOS 7 with GCC 8.3.0, and the Python GenFit3pi.py also works fine (after some '2to3').

Also works fine on OS 10.14.6 with Apple Clang 9.0.0 and ROOT from conda-forge (https://anaconda.org/conda-forge/root).

Thanks for the checks @dpohanlon. I've committed the required changes to the script to make it OK for python 3 in rLAURA5cbd960c5bb7.
Will wait to see if anyone else finds any problems, otherwise I'll merge this into master tomorrow.

tlatham closed this task as Resolved.Nov 21 2019, 3:24 PM

Changes merged into master branch