diff options
-rw-r--r-- | lib/spack/spack/build_systems/cmake.py | 5 | ||||
-rw-r--r-- | lib/spack/spack/test/build_systems.py | 3 |
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) |