diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2018-12-20 22:03:55 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-12-20 23:03:55 +0200 |
commit | 6864ed60dddf68e1e035194e50088649599a8d04 (patch) | |
tree | df088857512d9ae763a345093e67b1d184ce8dee /mesonbuild/mintro.py | |
parent | 9b13fb367250444377200911bf50918b7abf2676 (diff) | |
download | meson-6864ed60dddf68e1e035194e50088649599a8d04.zip meson-6864ed60dddf68e1e035194e50088649599a8d04.tar.gz meson-6864ed60dddf68e1e035194e50088649599a8d04.tar.bz2 |
mintro: Bug fix for determine_installed_path for multiple target outputs
Diffstat (limited to 'mesonbuild/mintro.py')
-rw-r--r-- | mesonbuild/mintro.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py index 48ec20f..3bcacfb 100644 --- a/mesonbuild/mintro.py +++ b/mesonbuild/mintro.py @@ -51,17 +51,21 @@ def add_arguments(parser): parser.add_argument('builddir', nargs='?', default='.', help='The build directory') def determine_installed_path(target, installdata): - install_target = None - for i in installdata.targets: - if os.path.basename(i.fname) == target.get_filename(): # FIXME, might clash due to subprojects. - install_target = i - break - if install_target is None: + install_targets = [] + for i in target.outputs: + for j in installdata.targets: + if os.path.basename(j.fname) == i: # FIXME, might clash due to subprojects. + install_targets += [j] + break + if len(install_targets) == 0: raise RuntimeError('Something weird happened. File a bug.') - outname = os.path.join(installdata.prefix, i.outdir, os.path.basename(i.fname)) + # Normalize the path by using os.path.sep consistently, etc. # Does not change the effective path. - return str(pathlib.PurePath(outname)) + install_targets = list(map(lambda x: os.path.join(installdata.prefix, x.outdir, os.path.basename(x.fname)), install_targets)) + install_targets = list(map(lambda x: str(pathlib.PurePath(x)), install_targets)) + + return install_targets def list_installed(installdata): |