axom
axom copied to clipboard
Move all common LC system spack logic into common shared package
We should be sharing all this common logic between the our packages (Conduit, RAJA, Umpire, Axom, Serac, etc).
Sections like this are useful for all our codes:
https://github.com/LLNL/axom/blob/9d9ff2ba362086e8d699c4bb333d7b12930c6079/scripts/spack/packages/axom/package.py#L251-L295
Then we could have a package called something like LCSystemPackage
class Axom(CachedCMakePackage, CudaPackage, ROCmPackage, LCSystemPackage):
This is a fantastic idea!
Good idea, but how best to do it? Discuss at next wsc build meeting.
It looks like lines 251-278 aren't LC-specific, and should apply to anyone using BLT, is that right? I think we should definitely look at BLTPackage
and CachedBLTPackage
to take advantage of BLT on top of the existing [Cached]CMakePackage
classes.
I'm a little concerned about the lines following 278, since those seem to hardcode LC paths, I'd like it if we could look into generalizing those somehow.
Those LC specific paths are implicit link folders that CMake finds automatically. They cause problems because BlueOS defaults to gcc 4.9.3 and that clearly doesnt work with any modern compiler. It is very very LC specific because our OS doesn't match our compilers.