SebWouters / CheMPS2

CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry
GNU General Public License v2.0
68 stars 34 forks source link

Lapack and HDF5 targets #58

Closed loriab closed 7 years ago

loriab commented 7 years ago

This PR adds the ability to detect and use imported targets for LAPACK and HDF5 dependencies. It looks complicated, but all it's really doing is checking if there is such a target (with odd name, TargetLAPACK, only supplied by Psi4), then if not that if LAPACK_LIBRARIES has been passed in (more sensible replacement for that LAPACK_INTERJECT), then if not that detects normally with find_package(LAPACK). So for non-Psi4 use, it falls through to the last case, and there's no change. This has been working stably in Psi4 for the past two months.

Directory structure changed, Boost has been dropped, we did some changes to the Dimension object affecting orbs per irrep variables, and plugin building got overhauled. So I updated all the plugins to build again and adjusted the docs.

Some refactoring of dependency linking so that lapack, hdf5 are attached to libchemps2 rather than being deferred to the consumer of chemps2. The explicit paths are also no longer being writted out to the Target.cmake files. Fixes rpath for Mac.

This looks like a lot, but except for the plugin and some cosmetic stuff, it's been stable in Psi4 for weeks. Conda packages build ok (py3.6, too, now). So please accept and tag. Glad to answer any questions.

loriab commented 7 years ago

Thanks for the merge, @SebWouters. May I know your timeframe for bumping the tag? If you're planning to just change the copyright year and mint a new tag at this point, I'll hold off on the psi4/conda packaging so it can be done all at once. Otherwise, I'll work with the existing tag and just change the source target.

SebWouters commented 7 years ago

Hi @loriab

I'm not too keen on bumping the version for build modifications. This will trigger the debian and redhat repositories to request new builds, without new features, bug fixes, speed-ups, or the like. So, if you don't mind, could you, for now, just use the commit tag 782430f789bee39fd9c6e916fa147e361762435d?

Thanks! Sebastian

loriab commented 7 years ago

Hi @SebWouters

I don't blame you. That's why I added the interface fixes, but admittedly, that's no change to the library. Yes, I'm fine with keeping tag at 782430f. The only ppl who are going to run into problems are those that meet all of (1) building psi4 from src, (2) have already built CheMPS2 1.8.3 externally and are detecting in psi4 build, and (3) have some odd lapack setup (like acml) where psi4 detects correctly and chemps2 doesn't.