Re: [AMBER-Developers] CMake in Amber

From: David A Case <david.case.rutgers.edu>
Date: Sun, 4 Apr 2021 21:45:10 -0400

On Sun, Apr 04, 2021, Scott Le Grand wrote:

>I'm open to someone convincing me cmake is better than the configure
>script, but no one has made that argument yet beyond "because cmake"...

Jamie's arguments on behalf of CMake are summarized here:

   https://ambermd.org/pmwiki/pmwiki.php/Main/CMakeFeatures

(There are many other "CMake" pages on the Amber wiki that contain a
lot of helpful information, especially when problems arise.)

Here's my short list:

   1. The "configure2" script is 4300 lines of shell script, written over
      20 years, with outdated and inconsistent features. Fortran dependency
      checking relies on a set of perl scripts that should be (but often are
      not) updated whenever files are added or subtracted. I wrote much of
      this stuff, so no one should think it is either bulletproof or elegant.

   2. Using cmake gets us help from outsiders, especially Jamie Smith,
      Jaime Rodriguez-Guerro and Simon Bray, who have done wonders in getting
      AmberTools accepted into a wider community. Because we now have a
      well-supported conda package, AmberTools is often getting used by
      people who don't even know what it is, since it is a part of other
      packages. This would not have happened if we didn't make efforts
      to follow standards that the wider community is willing to work with
      (for better or worse.) FWIW, AmberTools at conda-forge has seen
      about 200,000 downloads, and is being used by a number of
      influential projects.

   3. When we need to provide a workaround, it is *far* simpler to ask users
      to add something like '-DDISABLE_TOOLS="mdgx" or
      -DFORCE_INTERNAL_LIBS="boost" to their cmake invocations, than it
      is to try to provide a modified configure script, or to ask users to
      edit a Makefile somewhere in the tree.

> we rushed it [cmake] to production

I don't agree here. CMake was introduced to developers in March of 2017,
and recommended to users as the default three years later, in 2020. It has
been used regularly for CI testing for two years, and by thousands of users
for a full year.

If you find a problem with CMake, please create an issue at gitlab. If it is
a problem with code that will be AmberTools21, this is a particularly good
time to do this, since we'd like to get as many things fixed as we can
before the release.

...thx...dac


_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Sun Apr 04 2021 - 19:00:03 PDT
Custom Search