examples: install as part of ninja install
authorBruce Richardson <bruce.richardson@intel.com>
Thu, 2 May 2019 16:51:52 +0000 (17:51 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 2 May 2019 21:05:01 +0000 (23:05 +0200)
When we install dpdk onto a system, we want to put the examples into
the /usr/share/dpdk (or /usr/local/share) directory for reference.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
examples/meson.build

index e4babf6..1a6134f 100644 (file)
@@ -8,12 +8,20 @@ endif
 
 execinfo = cc.find_library('execinfo', required: false)
 
-allow_skips = true # don't flag an error if we can't build an app
+all_examples = run_command('sh', '-c',
+       'cd $MESON_SOURCE_ROOT/$MESON_SUBDIR && for d in * ; do if [ -d $d ] ; then echo $d ; fi ; done'
+       ).stdout().split()
+# install all example code on install - irrespective of whether the example in
+# question is to be built as part of this build or not.
+foreach ex:all_examples
+       install_subdir(ex,
+                       install_dir: get_option('datadir') + '/dpdk/examples',
+                       exclude_files: 'meson.build')
+endforeach
 
 if get_option('examples').to_lower() == 'all'
-       dirs = run_command('sh', '-c',
-               'cd $MESON_SOURCE_ROOT/$MESON_SUBDIR && for d in * ; do if [ -d $d ] ; then echo $d ; fi ; done')
-       examples = dirs.stdout().split()
+       examples = all_examples
+       allow_skips = true # don't flag an error if we can't build an app
 else
        examples = get_option('examples').split(',')
        allow_skips = false # error out if we can't build a requested app