Re: [AMBER-Developers] CMake vs configure2 in Amber

From: Jamie Smith <jsmith.crackofdawn.onmicrosoft.com>
Date: Mon, 5 Apr 2021 04:39:45 +0000

Hi guys, sorry I'm just seeing this now as I've been moving house this weekend. I'll take a look at the issues that have been reported tonight -- if you are running into an issue and it isn't on Gitlab yet, put it on Gitlab and I'll take a look at it. From what I've seen so far these look like simple fixes.

I'd like to say that I really do want CMake to be as usable for you guys as humanly possible, and it sounds like we aren't totally there yet. Scott (or anyone else), please let me know what kind of stuff you're having trouble with with CMake, and I'll do my best to make it easier.

Also, about my maintenance availability, I guess I can give a bit of an explanation. When I first created the CMake build system, I was a full time intern at SDSC. However, soon after I finished the initial version, my employment ended because I chose to attend a different school (USC) so UCSD couldn't employ me as a student. Everything since then (early 2017) has been volunteer work on my own time, which I did because I really felt like I could make a difference here and I wanted to see the project through. However, in the last two years I've been a full time student plus a team lead at USC Rocket Propulsion Lab, so my time has been a bit scarce. I still have time for occasional help and bugfixes (I spent 40+ hours in the last two months setting up a CMake build system for QUICK) but I'm not sure I'll always be able to do everything you need me to. So, I definitely support you guys doing more of your own build system maintenance so that everything can ge

There are some resources on the wiki, e.g. here: https://ambermd.org/pmwiki/pmwiki.php/Main/CMakeExtendingTheBuildSystem . However, the cmake info on the wiki is somewhat out of date, especially the list of options. Probably the best general overview of how to use the more advanced features of cmake is actually the cmake section in the manual. Also, I actually put together a series of "training videos" that explain some of the nuances of CMake. You can see the first one here: https://www.youtube.com/watch?v=REcsrJUQoQk and the second one here: https://www.youtube.com/watch?v=R2UFNFuOW9Q . Sorry about the poor audio quality, it was recorded from a lecture I gave at my lab, but it should help you understand some of the basics if you haven't used CMake before. Something else that I was thinking of writing is some type of "extra tips" guide on how to use CMake more effectively to speed up your workflow. For instance, did you know that using Ninja (https://ninja-build.org/) instead of Make allows you to s
kip essentially the entire "scanning the build system" time every time you run make? If you change one file, you can run it and it will find the changed file and start building it in less than a second. All you need to do is pass "-GNinja" to cmake when you run it and it will generate a Ninja build file. There's a lot of ways like that where using CMake effectively should be able to speed up your workflow :)

Okay, taking a look at the problems now,
        Jamie Smith






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