diff options
Diffstat (limited to 'build/generator/swig/__init__.py')
-rw-r--r-- | build/generator/swig/__init__.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/build/generator/swig/__init__.py b/build/generator/swig/__init__.py index 99820cc..993d17b 100644 --- a/build/generator/swig/__init__.py +++ b/build/generator/swig/__init__.py @@ -61,10 +61,17 @@ class Generator: self.swig_path = swig_path self.swig_libdir = _exec.output([self.swig_path, "-swiglib"], strip=1) + _swigVersion = None def version(self): """Get the version number of SWIG""" - swig_version = _exec.output([self.swig_path, "-version"]) - m = re.search("Version (\d+).(\d+).(\d+)", swig_version) - if m: - return (m.group(1), m.group(2), m.group(3)) - return (0, 0, 0) + + if not self._swigVersion: + swig_version = _exec.output([self.swig_path, "-version"]) + m = re.search("Version (\d+).(\d+).(\d+)", swig_version) + if m: + self._swigVersion = tuple(map(int, m.groups())) + else: + self._swigVersion = (0, 0, 0) + + # Copy value to avoid changes + return tuple(list(self._swigVersion)) |