diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2018-02-05 22:34:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-05 22:34:09 +0200 |
commit | 66b14e20cc3a900a1bc15bc2bb1631a3f98a28c5 (patch) | |
tree | a3b5a66db6b18fae34857c003ff473bdff67f8d3 /mesonbuild/interpreter.py | |
parent | a288b524bc16eeba048e2ee8ec310422ecb36956 (diff) | |
parent | f5917d261cb8ca60b8e2988b4c1350a8d955f190 (diff) | |
download | meson-66b14e20cc3a900a1bc15bc2bb1631a3f98a28c5.zip meson-66b14e20cc3a900a1bc15bc2bb1631a3f98a28c5.tar.gz meson-66b14e20cc3a900a1bc15bc2bb1631a3f98a28c5.tar.bz2 |
Merge pull request #3010 from sarum9in/elide_directory
Add strip_directory keyword for install_subdir() function
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 2273b71..f68e25f 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -507,13 +507,14 @@ class DataHolder(InterpreterObject, ObjectHolder): return self.held_object.install_dir class InstallDir(InterpreterObject): - def __init__(self, src_subdir, inst_subdir, install_dir, install_mode, exclude): + def __init__(self, src_subdir, inst_subdir, install_dir, install_mode, exclude, strip_directory): InterpreterObject.__init__(self) self.source_subdir = src_subdir self.installable_subdir = inst_subdir self.install_dir = install_dir self.install_mode = install_mode self.exclude = exclude + self.strip_directory = strip_directory class Man(InterpreterObject): @@ -1390,7 +1391,7 @@ permitted_kwargs = {'add_global_arguments': {'language'}, 'install_data': {'install_dir', 'install_mode', 'sources'}, 'install_headers': {'install_dir', 'subdir'}, 'install_man': {'install_dir'}, - 'install_subdir': {'exclude_files', 'exclude_directories', 'install_dir', 'install_mode'}, + 'install_subdir': {'exclude_files', 'exclude_directories', 'install_dir', 'install_mode', 'strip_directory'}, 'jar': jar_kwargs, 'project': {'version', 'meson_version', 'default_options', 'license', 'subproject_dir'}, 'run_target': {'command', 'depends'}, @@ -2674,6 +2675,12 @@ root and issuing %s. install_dir = kwargs['install_dir'] if not isinstance(install_dir, str): raise InvalidArguments('Keyword argument install_dir not a string.') + if 'strip_directory' in kwargs: + if not isinstance(kwargs['strip_directory'], bool): + raise InterpreterException('"strip_directory" keyword must be a boolean.') + strip_directory = kwargs['strip_directory'] + else: + strip_directory = False if 'exclude_files' in kwargs: exclude = extract_as_list(kwargs, 'exclude_files') for f in exclude: @@ -2696,7 +2703,7 @@ root and issuing %s. exclude_directories = set() exclude = (exclude_files, exclude_directories) install_mode = self._get_kwarg_install_mode(kwargs) - idir = InstallDir(self.subdir, subdir, install_dir, install_mode, exclude) + idir = InstallDir(self.subdir, subdir, install_dir, install_mode, exclude, strip_directory) self.build.install_dirs.append(idir) return idir |