diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-01-28 18:28:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-28 18:28:31 +0200 |
commit | 6357ad0cd051d56deeb6c029a436b47b1f5216ae (patch) | |
tree | c331dd4a6dafd57aa3c933baf282ff9e6b850ddd /mesonbuild/build.py | |
parent | 85304bd8cf74a958a81f0df74f3b81955ac247b4 (diff) | |
parent | 471904f0c50e9646d644efaf27c0ff4d5fce6634 (diff) | |
download | meson-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.py | 14 |
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): |