Hi Elizabeth,

On 09-01-16 05:00, Elizabeth Fischer wrote:

> So circling back... suppose I have EasyBuild (or Spack) and I want to
> develop software with CMake?  What is the recommended way to do that? 
> What is the recommended way for the two systems to work together
> (EasyBuild providing recursive dependency management, and CMake
> providing cross-platform compatibility)?  How does one write CMake
> scripts that can be used with or without help from EasyBuild?

My workflow for developing is to load all the modules that I require
(the modules are created and installed by EasyBuild) and then use Lmod's
save/restore function to 'save' the environment I want.

After this, I can just use CMake. You might have to define some
variables for CMake that are also set in the CMakeMake block:
CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, CMAKE_C_FLAGS, etc
but that's easy using the $EBROOTXXXX variables.

If I want to do calculations with the software, I just 'restore' the
environment in my job file.

An alternative to the Lmod collection is to use the Bundle easyblock.
This has the added advantage that you get a 'devel' module in the
install directory (under the 'easybuild' directory). This contains all
the env variables that EB would set.

I hope that helps you somewhat.

Ward

Reply via email to