aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Redelings <benjamin.redelings@gmail.com>2017-12-30 13:41:57 -0800
committerNirbheek Chauhan <nirbheek@centricular.com>2018-02-19 01:32:16 +0530
commitc9a71ff243aa08cf1855027fbab38ab1ae0a20c8 (patch)
tree11d9ccb3765488e979999fd8f19f23c53bbd5f74
parentad1aed199e3c5f1e0c9f7a81d9976178ce0bca8d (diff)
downloadmeson-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.py19
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():