summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Redelings <benjamin.redelings@gmail.com>2017-12-30 13:41:57 -0800
committerBenjamin Redelings <benjamin.redelings@gmail.com>2018-01-01 22:42:49 -0800
commit57265e2486fb677353d0e6cf666785a26a576607 (patch)
tree27ceca37220ae95467f08883390275a5e43d1cd9
parentea4d5697a8f874df197e33a4cbf17aa259ebf9e6 (diff)
downloadmeson-57265e2486fb677353d0e6cf666785a26a576607.tar.gz
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 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():