From b1087f011cb815a5214791ab92e7214e01b45b72 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 14 Jan 2017 17:01:07 +0200 Subject: Moved detection of targets to build on all into own function. --- mesonbuild/backend/ninjabackend.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index e6f82d1..cace3b3 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2160,21 +2160,26 @@ rule FORTRAN_DEP_HACK elem.add_item('pool', 'console') elem.write(outfile) + def get_build_on_all_targets(self): + result = [] + for t in self.build.get_targets().values(): + if t.build_on_all: + result.append(t) + # CustomTargets that aren't installed should only be built if + # they are used by something else or are to always be built + if isinstance(t, build.CustomTarget): + if t.install or t.build_always: + result.append(t) + return result + def generate_ending(self, outfile): targetlist = [] ctlist = [] - for t in self.build.get_targets().values(): - # RunTargets are meant to be invoked manually - if isinstance(t, build.RunTarget): - continue + for t in self.get_build_on_all_targets(): if isinstance(t, build.CustomTarget): # Create a list of all custom target outputs for o in t.get_outputs(): ctlist.append(os.path.join(self.get_target_dir(t), o)) - # CustomTargets that aren't installed should only be built if - # they are used by something else or are to always be built - if not (t.install or t.build_always): - continue # Add the first output of each target to the 'all' target so that # they are all built targetlist.append(os.path.join(self.get_target_dir(t), t.get_outputs()[0])) -- cgit v1.1 From db8ad2a4bd4ed1e962e1cbfa76bd8abdf5e83b0e Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sat, 14 Jan 2017 17:36:12 +0200 Subject: Add test for build_on_all. --- mesonbuild/backend/ninjabackend.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index cace3b3..a051baf 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2163,13 +2163,10 @@ rule FORTRAN_DEP_HACK def get_build_on_all_targets(self): result = [] for t in self.build.get_targets().values(): - if t.build_on_all: + if t.build_on_all or \ + (hasattr(t, 'install') and t.install) or\ + (hasattr(t, 'build_always') and t.build_always): result.append(t) - # CustomTargets that aren't installed should only be built if - # they are used by something else or are to always be built - if isinstance(t, build.CustomTarget): - if t.install or t.build_always: - result.append(t) return result def generate_ending(self, outfile): -- cgit v1.1 From 58878b998d4a4a144c271edb2091904f05c0668c Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 15 Jan 2017 02:01:21 +0200 Subject: Get rid of hasattr. --- mesonbuild/backend/ninjabackend.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index a051baf..e861bf7 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2163,9 +2163,7 @@ rule FORTRAN_DEP_HACK def get_build_on_all_targets(self): result = [] for t in self.build.get_targets().values(): - if t.build_on_all or \ - (hasattr(t, 'install') and t.install) or\ - (hasattr(t, 'build_always') and t.build_always): + if t.build_on_all or t.install or t.build_always: result.append(t) return result -- cgit v1.1 From 21d85058253ea8fbfb16c8c8f696d21b863f32dd Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Sun, 15 Jan 2017 14:51:34 +0200 Subject: build_by_default it is. --- mesonbuild/backend/ninjabackend.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index e861bf7..668d6c4 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2160,17 +2160,17 @@ rule FORTRAN_DEP_HACK elem.add_item('pool', 'console') elem.write(outfile) - def get_build_on_all_targets(self): + def get_build_by_default_targets(self): result = [] for t in self.build.get_targets().values(): - if t.build_on_all or t.install or t.build_always: + if t.build_by_default or t.install or t.build_always: result.append(t) return result def generate_ending(self, outfile): targetlist = [] ctlist = [] - for t in self.get_build_on_all_targets(): + for t in self.get_build_by_default_targets(): if isinstance(t, build.CustomTarget): # Create a list of all custom target outputs for o in t.get_outputs(): -- cgit v1.1