summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/operating_systems/cnl.py14
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()