aboutsummaryrefslogtreecommitdiff
path: root/mesonintrospect.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2014-04-25 21:52:18 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2014-04-25 21:52:18 +0300
commitc06c9ea83e7584539e1a09ba3acd8035444d22c9 (patch)
tree3ba08a36b572eb0005c4778c4582c66ad0c20c79 /mesonintrospect.py
parent849fe8bacf4c16f96058990d38a985a601145891 (diff)
downloadmeson-c06c9ea83e7584539e1a09ba3acd8035444d22c9.zip
meson-c06c9ea83e7584539e1a09ba3acd8035444d22c9.tar.gz
meson-c06c9ea83e7584539e1a09ba3acd8035444d22c9.tar.bz2
Export list of files per target.
Diffstat (limited to 'mesonintrospect.py')
-rwxr-xr-xmesonintrospect.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/mesonintrospect.py b/mesonintrospect.py
index 7e22e7e..443eb1a 100755
--- a/mesonintrospect.py
+++ b/mesonintrospect.py
@@ -28,6 +28,7 @@ import sys, os
parser = OptionParser()
parser.add_option('--list-targets', action='store_true', dest='list_targets', default=False)
+parser.add_option('--target-files', action='store', dest='target_files', default=None)
def list_targets(coredata, builddata):
tlist = []
@@ -51,6 +52,15 @@ def list_targets(coredata, builddata):
tlist.append(t)
print(json.dumps(tlist))
+def list_target_files(target_name, coredata, builddata):
+ try:
+ sources = builddata.targets[target_name].sources
+ subdir = builddata.targets[target_name].subdir
+ except KeyError:
+ print("Unknown target %s." % target_name)
+ sys.exit(1)
+ print(json.dumps([os.path.join(subdir, i) for i in sources]))
+
if __name__ == '__main__':
(options, args) = parser.parse_args()
if len(args) > 1:
@@ -66,6 +76,8 @@ if __name__ == '__main__':
builddata = pickle.load(open(buildfile, 'rb'))
if options.list_targets:
list_targets(coredata, builddata)
+ elif options.target_files is not None:
+ list_target_files(options.target_files, coredata, builddata)
else:
print('No command specified')
sys.exit(1)