build: select applications to build

Makes apps configurable from meson, like already possible for drivers.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Markus Theil 2022-10-14 09:51:17 +02:00 committed by David Marchand
parent d118ff6051
commit ab2bb5044c
2 changed files with 16 additions and 1 deletions

View File

@ -1,6 +1,9 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2019 Intel Corporation
enabled_apps = get_option('enable_apps')
disabled_apps = get_option('disable_apps')
apps = [
'dumpcap',
'pdump',
@ -27,7 +30,11 @@ if get_option('default_library') == 'static' and not is_windows
endif
foreach app:apps
build = true
build = enabled_apps == '' or enabled_apps.contains(app)
# let disabled_apps override enabled_apps
if disabled_apps != ''
build = build and not disabled_apps.contains(app)
endif
name = app
sources = []
includes = []
@ -41,6 +48,10 @@ foreach app:apps
ext_deps = []
deps = []
if not build
continue
endif
subdir(name)
if build

View File

@ -6,6 +6,8 @@ option('cpu_instruction_set', type: 'string', value: 'auto',
description: 'Set the target machine ISA (instruction set architecture). Will be set according to the platform option by default.')
option('developer_mode', type: 'feature', description:
'turn on additional build checks relevant for DPDK developers')
option('disable_apps', type: 'string', value: '', description:
'Comma-separated list of apps to explicitly disable.')
option('disable_drivers', type: 'string', value: '', description:
'Comma-separated list of drivers to explicitly disable.')
option('disable_libs', type: 'string', value: 'kni', description:
@ -14,6 +16,8 @@ option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>', d
'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')
option('enable_docs', type: 'boolean', value: false, description:
'build documentation')
option('enable_apps', type: 'string', value: '', description:
'Comma-separated list of apps to build. If unspecified, build all apps.')
option('enable_drivers', type: 'string', value: '', description:
'Comma-separated list of drivers to build. If unspecified, build all drivers.')
option('enable_driver_sdk', type: 'boolean', value: false, description: