diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/operating_systems/cnl.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/spack/spack/operating_systems/cnl.py b/lib/spack/spack/operating_systems/cnl.py index d64e4d06dc..167b31f6e3 100644 --- a/lib/spack/spack/operating_systems/cnl.py +++ b/lib/spack/spack/operating_systems/cnl.py @@ -42,12 +42,20 @@ class Cnl(OperatingSystem): """ def __init__(self): - name = 'CNL' - version = '10' + name = 'cnl' + version = self._detect_crayos_version() super(Cnl, self).__init__(name, version) def __str__(self): - return self.name + return self.name + str(self.version) + + def _detect_crayos_version(self): + modulecmd = get_module_cmd() + output = modulecmd("avail", "PrgEnv-", output=str, error=str) + matches = re.findall(r'PrgEnv-\w+/(\d+).\d+.\d+', output) + major_versions = set(matches) + latest_version = max(major_versions) + return latest_version def find_compilers(self, *paths): types = spack.compilers.all_compiler_types() |