aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2018-09-30 13:53:12 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2019-01-17 20:40:19 +0200
commit267792174c9921e6be296086b0c806a684432a1b (patch)
treeef988cffbf23a750e71121ac9fa167f17c067273 /mesonbuild/backend/backends.py
parentdbe2a296378d93b55c93c2406744ff3de13af6f5 (diff)
downloadmeson-267792174c9921e6be296086b0c806a684432a1b.zip
meson-267792174c9921e6be296086b0c806a684432a1b.tar.gz
meson-267792174c9921e6be296086b0c806a684432a1b.tar.bz2
custom_target: do not let install override build_by_default
A custom_target, if install is set to true, will always be built by default even if build_by_default is explicitly set to false. Ensure that this does not happen if it's set explicitly. To keep backward compatibility, if build_by_default is not set explicitly and install is true, set build_by_default to true. Fixes #4107
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r--mesonbuild/backend/backends.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index 0637905..9f3f5d6 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -813,7 +813,7 @@ class Backend:
result = OrderedDict()
# Get all build and custom targets that must be built by default
for name, t in self.build.get_targets().items():
- if t.build_by_default or t.install:
+ if t.build_by_default:
result[name] = t
# Get all targets used as test executables and arguments. These must
# also be built by default. XXX: Sometime in the future these should be
@@ -1074,7 +1074,8 @@ class Backend:
if num_outdirs == 1 and num_out > 1:
for output in t.get_outputs():
f = os.path.join(self.get_target_dir(t), output)
- i = TargetInstallData(f, outdirs[0], {}, False, {}, None, install_mode)
+ i = TargetInstallData(f, outdirs[0], {}, False, {}, None, install_mode,
+ optional=not t.build_by_default)
d.targets.append(i)
else:
for output, outdir in zip(t.get_outputs(), outdirs):
@@ -1082,7 +1083,8 @@ class Backend:
if outdir is False:
continue
f = os.path.join(self.get_target_dir(t), output)
- i = TargetInstallData(f, outdir, {}, False, {}, None, install_mode)
+ i = TargetInstallData(f, outdir, {}, False, {}, None, install_mode,
+ optional=not t.build_by_default)
d.targets.append(i)
def generate_custom_install_script(self, d):