diff options
author | Benjamin Redelings <benjamin.redelings@gmail.com> | 2017-12-30 13:41:57 -0800 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-02-19 01:32:16 +0530 |
commit | c9a71ff243aa08cf1855027fbab38ab1ae0a20c8 (patch) | |
tree | 11d9ccb3765488e979999fd8f19f23c53bbd5f74 | |
parent | ad1aed199e3c5f1e0c9f7a81d9976178ce0bca8d (diff) | |
download | meson-c9a71ff243aa08cf1855027fbab38ab1ae0a20c8.zip meson-c9a71ff243aa08cf1855027fbab38ab1ae0a20c8.tar.gz meson-c9a71ff243aa08cf1855027fbab38ab1ae0a20c8.tar.bz2 |
Use include path to find <boost/version.hpp> and version number.
-rw-r--r-- | mesonbuild/dependencies/misc.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index bf8e27e..38b0a10 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -25,7 +25,7 @@ from pathlib import Path from .. import mlog from .. import mesonlib -from ..mesonlib import Popen_safe, extract_as_list +from ..mesonlib import Popen_safe, extract_as_list, EnvironmentException from ..environment import detect_cpu_family from .base import ( @@ -264,19 +264,16 @@ class BoostDependency(ExternalDependency): def detect_version(self): try: - ifile = open(os.path.join(self.incdir, 'boost', 'version.hpp')) - except FileNotFoundError: + version = self.compiler.get_define('BOOST_LIB_VERSION', '#include <boost/version.hpp>', self.env, self.get_compile_args(), []) + except EnvironmentException: return except TypeError: return - with ifile: - for line in ifile: - if line.startswith("#define") and 'BOOST_LIB_VERSION' in line: - ver = line.split()[-1] - ver = ver[1:-1] - self.version = ver.replace('_', '.') - self.is_found = True - return + # Remove quotes + version = version[1:-1] + # Fix version string + self.version = version.replace('_', '.') + self.is_found = True def detect_lib_modules(self): if mesonlib.is_windows(): |