build: make tests optional
Add a meson option -Dtests and --without-tests automake option to disable the compilation of all available testcases. This is useful for compiling projects with Flatpak such as GNOME Control Center which disables all possible integrations since they only need the DBus part of ModemManager. Contributes to https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1392
This commit is contained in:
@@ -12,12 +12,15 @@ SUBDIRS = \
|
|||||||
cli \
|
cli \
|
||||||
vapi \
|
vapi \
|
||||||
introspection \
|
introspection \
|
||||||
test \
|
|
||||||
tools \
|
tools \
|
||||||
examples \
|
examples \
|
||||||
docs \
|
docs \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
if WITH_TESTS
|
||||||
|
SUBDIRS += test
|
||||||
|
endif
|
||||||
|
|
||||||
ChangeLog:
|
ChangeLog:
|
||||||
$(AM_V_GEN) if test -d "$(srcdir)/.git"; then \
|
$(AM_V_GEN) if test -d "$(srcdir)/.git"; then \
|
||||||
(GIT_DIR=$(top_srcdir)/.git $(top_srcdir)/missing --run git log --stat) | fmt --split-only > $@.tmp \
|
(GIT_DIR=$(top_srcdir)/.git $(top_srcdir)/missing --run git log --stat) | fmt --split-only > $@.tmp \
|
||||||
|
17
configure.ac
17
configure.ac
@@ -251,6 +251,21 @@ case $with_udev in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
dnl-----------------------------------------------------------------------------
|
||||||
|
dnl build with tests (enabled by default)
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_ARG_WITH(tests, AS_HELP_STRING([--without-tests], [Build without testcases]), [], [with_tests=yes])
|
||||||
|
AM_CONDITIONAL(WITH_TESTS, test "x$with_tests" = "xyes")
|
||||||
|
case $with_tests in
|
||||||
|
yes)
|
||||||
|
AC_DEFINE(WITH_TESTS, 1, [Define if you want to build all testcases])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
with_tests=no
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
dnl-----------------------------------------------------------------------------
|
dnl-----------------------------------------------------------------------------
|
||||||
dnl Suspend/resume support
|
dnl Suspend/resume support
|
||||||
dnl
|
dnl
|
||||||
@@ -629,6 +644,7 @@ examples/sms-python/Makefile
|
|||||||
examples/network-scan-python/Makefile
|
examples/network-scan-python/Makefile
|
||||||
examples/sms-c/Makefile
|
examples/sms-c/Makefile
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
echo "
|
echo "
|
||||||
@@ -643,6 +659,7 @@ echo "
|
|||||||
warn ldflags: ${WARN_LDFLAGS}
|
warn ldflags: ${WARN_LDFLAGS}
|
||||||
maintainer mode: ${USE_MAINTAINER_MODE}
|
maintainer mode: ${USE_MAINTAINER_MODE}
|
||||||
release: ${ax_is_release}
|
release: ${ax_is_release}
|
||||||
|
tests: ${with_tests}
|
||||||
|
|
||||||
System paths:
|
System paths:
|
||||||
prefix: ${prefix}
|
prefix: ${prefix}
|
||||||
|
@@ -1,5 +1,12 @@
|
|||||||
|
|
||||||
SUBDIRS = . dispatcher-connection dispatcher-fcc-unlock tests
|
SUBDIRS = \
|
||||||
|
. \
|
||||||
|
dispatcher-connection \
|
||||||
|
dispatcher-fcc-unlock
|
||||||
|
|
||||||
|
if WITH_TESTS
|
||||||
|
SUBDIRS += tests
|
||||||
|
endif
|
||||||
|
|
||||||
edit = @sed \
|
edit = @sed \
|
||||||
-e 's|@sbindir[@]|$(sbindir)|g' \
|
-e 's|@sbindir[@]|$(sbindir)|g' \
|
||||||
|
@@ -1,7 +1,9 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
# Copyright (C) 2021 Iñigo Martinez <inigomartinez@gmail.com>
|
# Copyright (C) 2021 Iñigo Martinez <inigomartinez@gmail.com>
|
||||||
|
|
||||||
subdir('tests')
|
if enable_tests
|
||||||
|
subdir('tests')
|
||||||
|
endif
|
||||||
|
|
||||||
service_conf = {
|
service_conf = {
|
||||||
'sbindir': mm_prefix / mm_sbindir,
|
'sbindir': mm_prefix / mm_sbindir,
|
||||||
|
@@ -3,7 +3,9 @@
|
|||||||
|
|
||||||
# DBus Introspection files
|
# DBus Introspection files
|
||||||
mm_ifaces_all = files('all.xml')
|
mm_ifaces_all = files('all.xml')
|
||||||
mm_ifaces_test = files('tests/org.freedesktop.ModemManager1.Test.xml')
|
if enable_tests
|
||||||
|
mm_ifaces_test = files('tests/org.freedesktop.ModemManager1.Test.xml')
|
||||||
|
endif
|
||||||
|
|
||||||
mm_ifaces = files('org.freedesktop.ModemManager1.xml')
|
mm_ifaces = files('org.freedesktop.ModemManager1.xml')
|
||||||
|
|
||||||
|
@@ -196,4 +196,6 @@ if enable_gir
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('tests')
|
if enable_tests
|
||||||
|
subdir('tests')
|
||||||
|
endif
|
||||||
|
18
meson.build
18
meson.build
@@ -88,6 +88,9 @@ cc_args = cc.get_supported_arguments([
|
|||||||
'-Wno-missing-field-initializers',
|
'-Wno-missing-field-initializers',
|
||||||
])
|
])
|
||||||
|
|
||||||
|
# tests are enabled by default
|
||||||
|
enable_tests = get_option('tests')
|
||||||
|
|
||||||
# strict flags to use in debug builds
|
# strict flags to use in debug builds
|
||||||
if get_option('buildtype').contains('debug')
|
if get_option('buildtype').contains('debug')
|
||||||
cc_args += cc.get_supported_arguments([
|
cc_args += cc.get_supported_arguments([
|
||||||
@@ -266,7 +269,9 @@ if dist_version != ''
|
|||||||
config_h.set('MM_DIST_VERSION', dist_version)
|
config_h.set('MM_DIST_VERSION', dist_version)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
util_dep = cc.find_library('util')
|
if enable_tests
|
||||||
|
util_dep = cc.find_library('util')
|
||||||
|
endif
|
||||||
|
|
||||||
# introspection support
|
# introspection support
|
||||||
enable_gir = get_option('introspection')
|
enable_gir = get_option('introspection')
|
||||||
@@ -376,14 +381,19 @@ subdir('introspection')
|
|||||||
subdir('include')
|
subdir('include')
|
||||||
|
|
||||||
subdir('libqcdm/src')
|
subdir('libqcdm/src')
|
||||||
subdir('libqcdm/tests')
|
if enable_tests
|
||||||
|
subdir('libqcdm/tests')
|
||||||
|
endif
|
||||||
|
|
||||||
subdir('libmm-glib')
|
subdir('libmm-glib')
|
||||||
subdir('src')
|
subdir('src')
|
||||||
subdir('plugins')
|
subdir('plugins')
|
||||||
subdir('cli')
|
subdir('cli')
|
||||||
subdir('test')
|
|
||||||
subdir('tools/tests')
|
if enable_tests
|
||||||
|
subdir('test')
|
||||||
|
subdir('tools/tests')
|
||||||
|
endif
|
||||||
|
|
||||||
subdir('examples/sms-c')
|
subdir('examples/sms-c')
|
||||||
|
|
||||||
|
@@ -4,6 +4,8 @@
|
|||||||
option('udev', type: 'boolean', value: true, description: 'enable udev support')
|
option('udev', type: 'boolean', value: true, description: 'enable udev support')
|
||||||
option('udevdir', type: 'string', value: '', description: 'udev base directory')
|
option('udevdir', type: 'string', value: '', description: 'udev base directory')
|
||||||
|
|
||||||
|
option('tests', type: 'boolean', value: true, description: 'enable tests')
|
||||||
|
|
||||||
option('dbus_policy_dir', type: 'string', value: '', description: 'd-bus system policy directory')
|
option('dbus_policy_dir', type: 'string', value: '', description: 'd-bus system policy directory')
|
||||||
|
|
||||||
option('systemdsystemunitdir', type: 'string', value: '', description: 'systemd system units directory')
|
option('systemdsystemunitdir', type: 'string', value: '', description: 'systemd system units directory')
|
||||||
|
@@ -329,4 +329,6 @@ install_data(
|
|||||||
install_dir: udev_rulesdir,
|
install_dir: udev_rulesdir,
|
||||||
)
|
)
|
||||||
|
|
||||||
subdir('tests')
|
if enable_tests
|
||||||
|
subdir('tests')
|
||||||
|
endif
|
||||||
|
Reference in New Issue
Block a user