From 8867fb7999e35c6713c46af64becfd1a08146a6a Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 12 Oct 2021 23:21:11 -0400 Subject: interpreter: Make compiler options per-subproject --- mesonbuild/interpreter/interpreter.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'mesonbuild/interpreter/interpreter.py') diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index ecbfd7a..15d7d32 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -88,6 +88,7 @@ import collections import typing as T import textwrap import importlib +import copy if T.TYPE_CHECKING: import argparse @@ -1382,6 +1383,15 @@ external dependencies (including libraries) must go to "dependencies".''') else: raise + # Add per-subproject compiler options. They inherit value from main project. + if self.subproject: + options = {} + for k in comp.get_options(): + v = copy.copy(self.coredata.options[k]) + k = k.evolve(subproject=self.subproject) + options[k] = v + self.coredata.add_compiler_options(options, lang, for_machine, self.environment) + if for_machine == MachineChoice.HOST or self.environment.is_cross_build(): logger_fun = mlog.log else: -- cgit v1.1