From d2a63d55fa714588360936f54bcf9cf7cd1d75c7 Mon Sep 17 00:00:00 2001 From: becker33 Date: Tue, 18 Jul 2017 10:03:15 -0700 Subject: Open ended variants (#4746) * Change directives to allow open-ended variants more easily * make None default to open-ended --- lib/spack/spack/directives.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py index 2b160bc8a3..52e4b83dce 100644 --- a/lib/spack/spack/directives.py +++ b/lib/spack/spack/directives.py @@ -372,7 +372,7 @@ def variant( name, default=None, description='', - values=(True, False), + values=None, multi=False, validator=None ): @@ -394,6 +394,12 @@ def variant( logic. It receives a tuple of values and should raise an instance of SpackError if the group doesn't meet the additional constraints """ + if values is None: + if default in (True, False) or (type(default) is str and + default.upper() in ('TRUE', 'FALSE')): + values = (True, False) + else: + values = lambda x: True if default is None: default = False if values == (True, False) else '' -- cgit v1.2.3-60-g2f50