diff options
author | Benjamin Redelings <benjamin.redelings@gmail.com> | 2017-12-30 13:41:57 -0800 |
---|---|---|
committer | Benjamin Redelings <benjamin.redelings@gmail.com> | 2018-01-01 22:42:49 -0800 |
commit | 57265e2486fb677353d0e6cf666785a26a576607 (patch) | |
tree | 27ceca37220ae95467f08883390275a5e43d1cd9 | |
parent | ea4d5697a8f874df197e33a4cbf17aa259ebf9e6 (diff) | |
download | meson-57265e2486fb677353d0e6cf666785a26a576607.tar.gz |
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 12575d566..365f489a2 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(): |