aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-01-28 18:28:31 +0200
committerGitHub <noreply@github.com>2017-01-28 18:28:31 +0200
commit6357ad0cd051d56deeb6c029a436b47b1f5216ae (patch)
treec331dd4a6dafd57aa3c933baf282ff9e6b850ddd /mesonbuild/build.py
parent85304bd8cf74a958a81f0df74f3b81955ac247b4 (diff)
parent471904f0c50e9646d644efaf27c0ff4d5fce6634 (diff)
downloadmeson-6357ad0cd051d56deeb6c029a436b47b1f5216ae.zip
meson-6357ad0cd051d56deeb6c029a436b47b1f5216ae.tar.gz
meson-6357ad0cd051d56deeb6c029a436b47b1f5216ae.tar.bz2
Merge pull request #1321 from centricular/compiler-args-class
Improve compiler argument handling with a new class CompilerArgs derived from list()
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index a9f08c3..5466431 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -170,6 +170,10 @@ class IncludeDirs:
else:
self.extra_build_dirs = extra_build_dirs
+ def __repr__(self):
+ r = '<{} {}/{}>'
+ return r.format(self.__class__.__name__, self.curdir, self.incdirs)
+
def get_curdir(self):
return self.curdir
@@ -585,14 +589,16 @@ class BuildTarget(Target):
for i in self.link_depends:
if not isinstance(i, str):
raise InvalidArguments('Link_depends arguments must be strings.')
- inclist = kwargs.get('include_directories', [])
- if not isinstance(inclist, list):
- inclist = [inclist]
- self.add_include_dirs(inclist)
deplist = kwargs.get('dependencies', [])
if not isinstance(deplist, list):
deplist = [deplist]
self.add_deps(deplist)
+ # Target-specific include dirs must be added after include dirs from
+ # internal deps (added inside self.add_deps()) to override correctly.
+ inclist = kwargs.get('include_directories', [])
+ if not isinstance(inclist, list):
+ inclist = [inclist]
+ self.add_include_dirs(inclist)
self.custom_install_dir = kwargs.get('install_dir', None)
if self.custom_install_dir is not None:
if not isinstance(self.custom_install_dir, str):