summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_systems/cmake.py5
-rw-r--r--lib/spack/spack/test/build_systems.py3
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/spack/spack/build_systems/cmake.py b/lib/spack/spack/build_systems/cmake.py
index d82bb245fe..4ef798fd51 100644
--- a/lib/spack/spack/build_systems/cmake.py
+++ b/lib/spack/spack/build_systems/cmake.py
@@ -10,6 +10,9 @@ import platform
import re
from typing import List # novm
+import six
+
+from llnl.util.compat import Sequence
from llnl.util.filesystem import working_dir
import spack.build_environment
@@ -222,7 +225,7 @@ class CMakePackage(PackageBase):
value = "ON" if value else "OFF"
else:
kind = 'STRING'
- if isinstance(value, (list, tuple)):
+ if isinstance(value, Sequence) and not isinstance(value, six.string_types):
value = ";".join(str(v) for v in value)
else:
value = str(value)
diff --git a/lib/spack/spack/test/build_systems.py b/lib/spack/spack/test/build_systems.py
index da8021db68..733381e8f2 100644
--- a/lib/spack/spack/test/build_systems.py
+++ b/lib/spack/spack/test/build_systems.py
@@ -313,6 +313,9 @@ class TestCMakePackage(object):
arg = pkg.define('MULTI', cls(['right', 'up']))
assert arg == '-DMULTI:STRING=right;up'
+ arg = pkg.define('MULTI', fs.FileList(['/foo', '/bar']))
+ assert arg == '-DMULTI:STRING=/foo;/bar'
+
arg = pkg.define('ENABLE_TRUTH', False)
assert arg == '-DENABLE_TRUTH:BOOL=OFF'
arg = pkg.define('ENABLE_TRUTH', True)