some ExternalLibraries require cmake to build

Issue #2761 new
Roland Haas created an issue

We do not list cmake as a requirement for the ET but some ExternalLibarries require it. A quick use of grep reveals:

grep -li cmake arrangements/ExternalLibraries/*/src/build.sh

these

arrangements/ExternalLibraries/ADIOS2/src/build.sh
arrangements/ExternalLibraries/AMReX/src/build.sh
arrangements/ExternalLibraries/NSIMD/src/build.sh
arrangements/ExternalLibraries/openPMD/src/build.sh
arrangements/ExternalLibraries/yaml_cpp/src/build.sh

For some cluster we may be able to enable cmake using machine.ini settings by loading a module, but for generic.iniwe either have to declare cmake a ET dependency and then provide instructions on how to install it on the supported Linux / macOS hosts or disable the ExternalLibraries (and their dependents, ie CarpetX) by default.

Comments (2)

  1. Roland Haas reporter

    yes, that is a possibility: https://github.com/EinsteinToolkit/ExternalLibraries-CMake and has been tested in the past.
    Upside: tested, needs no extra installed packages.
    Downside: Cmake is very slow to compile, so ideally I would not have to build it.

    The ExternalLibraries provided CMake has been used on clusters (where cmake was too old), so is known to work (needs some support by their client thorns [basically have to look for cmake in $CMAKE_DIR/bin/cmake] though since the CST does not allow to manipulate PATH, though I suspect one could actually make that work by manipulating variables in make.FOO.defn in bindings).

  2. Log in to comment