aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/build.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-05-21 21:31:14 +0300
committerGitHub <noreply@github.com>2017-05-21 21:31:14 +0300
commit189784b47404a7ab8b9443e4604721df2941a042 (patch)
treea144d266f0bb1829f92fc7371780a4d54f480e82 /mesonbuild/build.py
parentc352c34ff19a75882dce89d71a2643f1913bebc6 (diff)
parent197594146cd588b4c6027a3bcc218e8c00b70a4d (diff)
downloadmeson-189784b47404a7ab8b9443e4604721df2941a042.zip
meson-189784b47404a7ab8b9443e4604721df2941a042.tar.gz
meson-189784b47404a7ab8b9443e4604721df2941a042.tar.bz2
Merge pull request #1792 from jon-turney/custom_target_vs_module_defs
Allow vs_module_defs to use a custom_target
Diffstat (limited to 'mesonbuild/build.py')
-rw-r--r--mesonbuild/build.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 242ce6f..855c0bd 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1279,6 +1279,8 @@ class SharedLibrary(BuildTarget):
# Visual Studio module-definitions file
if 'vs_module_defs' in kwargs:
path = kwargs['vs_module_defs']
+ if hasattr(path, 'held_object'):
+ path = path.held_object
if isinstance(path, str):
if os.path.isabs(path):
self.vs_module_defs = File.from_absolute_file(path)
@@ -1289,10 +1291,15 @@ class SharedLibrary(BuildTarget):
# When passing a generated file.
self.vs_module_defs = path
self.link_depends.append(path)
+ elif hasattr(path, 'get_filename'):
+ # When passing output of a Custom Target
+ path = File.from_built_file(path.subdir, path.get_filename())
+ self.vs_module_defs = path
+ self.link_depends.append(path)
else:
raise InvalidArguments(
'Shared library vs_module_defs must be either a string, '
- 'or a file object')
+ 'a file object or a Custom Target')
def check_unknown_kwargs(self, kwargs):
self.check_unknown_kwargs_int(kwargs, known_lib_kwargs)