diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py index 16929957c98..142dc1d54b3 100644 --- a/var/spack/repos/builtin/packages/lammps/package.py +++ b/var/spack/repos/builtin/packages/lammps/package.py @@ -857,6 +857,22 @@ def url_for_version(self, version): root_cmakelists_dir = "cmake" + def flag_handler(self, name, flags): + wrapper_flags = [] + build_system_flags = [] + + if self.spec.satisfies("+mpi+cuda") or self.spec.satisfies("+mpi+rocm"): + if self.spec.satisfies("^[virtuals=mpi] cray-mpich"): + gtl_lib = self.spec["cray-mpich"].package.gtl_lib + build_system_flags.extend(gtl_lib.get(name) or []) + # hipcc is not wrapped, we need to pass the flags via the build + # system. + build_system_flags.extend(flags) + else: + wrapper_flags.extend(flags) + + return (wrapper_flags, [], build_system_flags) + def cmake_args(self): spec = self.spec