Background
MFC currently patches Silo at build time (toolchain/dependencies/Silo.patch) to change set(CMAKE_MODULE_PATH ...) to list(APPEND CMAKE_MODULE_PATH ...) in Silo's CMakeLists.txt. This is necessary because Silo's set() wipes out the -DCMAKE_MODULE_PATH=... MFC injects for Cray CCE (pointing to toolchain/cmake/cce/FindHDF5.cmake), causing SiloFindHDF5.cmake to fail to locate HDF5.
An upstream fix has been submitted: llnl/Silo#550
What to do when that PR is merged and a new Silo release is tagged
- Bump
GIT_TAG in toolchain/dependencies/CMakeLists.txt to the new Silo release tag.
- Delete
toolchain/dependencies/Silo.patch.
- Remove the
PATCH_COMMAND stanza from ExternalProject_Add(silo ...) in toolchain/dependencies/CMakeLists.txt.
- Remove the Cray-conditional
-DCMAKE_MODULE_PATH=... arg from the same ExternalProject_Add call (line 113). With list(APPEND) in Silo, the path set by MFC's parent cmake will be preserved automatically.
- Verify the Silo build on Frontier (Cray CCE) still works.
This will fully resolve #621.
Background
MFC currently patches Silo at build time (
toolchain/dependencies/Silo.patch) to changeset(CMAKE_MODULE_PATH ...)tolist(APPEND CMAKE_MODULE_PATH ...)in Silo'sCMakeLists.txt. This is necessary because Silo'sset()wipes out the-DCMAKE_MODULE_PATH=...MFC injects for Cray CCE (pointing totoolchain/cmake/cce/FindHDF5.cmake), causingSiloFindHDF5.cmaketo fail to locate HDF5.An upstream fix has been submitted: llnl/Silo#550
What to do when that PR is merged and a new Silo release is tagged
GIT_TAGintoolchain/dependencies/CMakeLists.txtto the new Silo release tag.toolchain/dependencies/Silo.patch.PATCH_COMMANDstanza fromExternalProject_Add(silo ...)intoolchain/dependencies/CMakeLists.txt.-DCMAKE_MODULE_PATH=...arg from the sameExternalProject_Addcall (line 113). Withlist(APPEND)in Silo, the path set by MFC's parent cmake will be preserved automatically.This will fully resolve #621.