#1667: ExternalLibraries/MPI should report error messages ---------------------+------------------------------------------------------ Reporter: hinder | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: Cactus | Version: development version Resolution: | Keywords: MPI ---------------------+------------------------------------------------------
Comment (by eschnett):
These are the five cases that we need to cover:
1. use an installed library at a specified location (set MPI_DIR to point to the library) 2. always build it (set MPI_DIR to BUILD) 3. do nothing, e.g. for Cray (set MPI_DIR to NONE) 4. search for an installed library, build it not found (MPI_DIR is empty, i.e. this is the default) 5. search for an installed library, fail if not found (MPI_DIR is NO_BUILD)
I think this covers all interesting cases. The case NONE could also be handled by setting MPI_DIR and MPI_LIBS to a "fantasy" directory and "fantasy" library, but that's slightly inelegant.
Note that the user's option settings are ignored in all cases except 1.
I notice we're overloading the meaning of MPI_DIR. We could instead use a setting for MPI, which would be less confusing.
We could also rename NO_BUILD to SEARCH_AND_IGNORE_USER_SETTINGS_AND_NEVER_BUILD. That options is a bit of an outlier, because we know in this case that we need to use a system library (so it's presumably a strange system), but we also expect Cactus to find this system library.
We should probably abort with an error if user options are set and are ignored.