gitlab-ci: build libdbus as subproject

Test it's possible to consume libdbus as a subproject.

Suggested-by: Simon McVittie <smcv@collabora.com>
Signed-off-by: Daniel Wagner <dwagner@suse.de>
This commit is contained in:
Daniel Wagner 2023-01-13 13:29:06 +01:00
parent cd1a9bb09a
commit b1e8793e8d
6 changed files with 81 additions and 0 deletions

View File

@ -206,6 +206,15 @@ debian meson clang debug:
ci_buildsys: "meson-dist"
ci_compiler: "clang"
ci_variant: "debug"
script:
- ./tools/ci-build.sh
# Also test that we can be used as a subproject:
# https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/388
- mkdir -p test/use-as-subproject/subprojects/dbus
- tar --strip-components=1 -C test/use-as-subproject/subprojects/dbus -xf ci-build-dist/*.tar.xz
- meson setup --wrap-mode=forcefallback test/use-as-subproject/_build test/use-as-subproject
- meson compile -C test/use-as-subproject/_build
- meson test -C test/use-as-subproject/_build
debian mingw32 autotools debug:
extends: .debian-build

5
test/use-as-subproject/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
# Copyright 2023 Collabora Ltd.
# SPDX-License-Identifier: MIT
/_build/
/subproject/

View File

@ -0,0 +1,6 @@
/*
* Copyright 2023 Collabora Ltd.
* SPDX-License-Identifier: MIT
*/
#error Should not use superproject generated config.h to compile libdbus

View File

@ -0,0 +1,6 @@
/*
* Copyright 2023 Collabora Ltd.
* SPDX-License-Identifier: MIT
*/
#error Should not use superproject generated config.h to compile libdbus

View File

@ -0,0 +1,38 @@
# Copyright 2023 Collabora Ltd.
# Copyright (c) 2023 SUSE LLC
# SPDX-License-Identifier: MIT
project(
'use-libdbus-as-subproject',
'c',
version : '0',
meson_version : '>=0.49.0'
)
add_project_arguments('-D_GNU_SOURCE', language : 'c')
configure_file(
copy : true,
input : 'dummy-config.h.in',
output : 'config.h',
)
libdbus_dep = dependency(
'dbus-1',
required: true,
fallback: ['dbus', 'libdbus_dep'],
default_options: [
'default_library=static',
'embedded_tests=false',
'message_bus=false',
'modular_tests=disabled',
'tools=false',
],
)
executable(
'use-libdbus',
'use-libdbus.c',
dependencies : [
libdbus_dep
]
)

View File

@ -0,0 +1,17 @@
/*
* Copyright (c) 2023 SUSE LLC
* SPDX-License-Identifier: MIT
*/
#include <assert.h>
#include <dbus/dbus.h>
int main(void)
{
DBusMessage *m = NULL;
m = dbus_message_new_signal ("/", "com.example.Interface", "Signal");
assert (m != NULL);
dbus_message_unref (m);
return 0;
}