diff options
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): |