diff options
author | Daniel Wagner <dwagner@suse.de> | 2023-01-13 13:29:06 +0100 |
---|---|---|
committer | Daniel Wagner <dwagner@suse.de> | 2023-02-07 09:07:32 +0100 |
commit | b1e8793e8d950c2bcc09ed708b474d412cad8cb5 (patch) | |
tree | 404e29497f53c6656c8025cb51e85d353bf498d8 | |
parent | cd1a9bb09a4e9330f8669fb6d385b1e095f97fc2 (diff) | |
download | dbus-b1e8793e8d950c2bcc09ed708b474d412cad8cb5.tar.gz |
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>
-rw-r--r-- | .gitlab-ci.yml | 9 | ||||
-rw-r--r-- | test/use-as-subproject/.gitignore | 5 | ||||
-rw-r--r-- | test/use-as-subproject/config.h | 6 | ||||
-rw-r--r-- | test/use-as-subproject/dummy-config.h.in | 6 | ||||
-rw-r--r-- | test/use-as-subproject/meson.build | 38 | ||||
-rw-r--r-- | test/use-as-subproject/use-libdbus.c | 17 |
6 files changed, 81 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 64f4f569..f20b0ee5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/test/use-as-subproject/.gitignore b/test/use-as-subproject/.gitignore new file mode 100644 index 00000000..2c32b030 --- /dev/null +++ b/test/use-as-subproject/.gitignore @@ -0,0 +1,5 @@ +# Copyright 2023 Collabora Ltd. +# SPDX-License-Identifier: MIT + +/_build/ +/subproject/ diff --git a/test/use-as-subproject/config.h b/test/use-as-subproject/config.h new file mode 100644 index 00000000..e5e5c74e --- /dev/null +++ b/test/use-as-subproject/config.h @@ -0,0 +1,6 @@ +/* + * Copyright 2023 Collabora Ltd. + * SPDX-License-Identifier: MIT + */ + +#error Should not use superproject generated config.h to compile libdbus diff --git a/test/use-as-subproject/dummy-config.h.in b/test/use-as-subproject/dummy-config.h.in new file mode 100644 index 00000000..e5e5c74e --- /dev/null +++ b/test/use-as-subproject/dummy-config.h.in @@ -0,0 +1,6 @@ +/* + * Copyright 2023 Collabora Ltd. + * SPDX-License-Identifier: MIT + */ + +#error Should not use superproject generated config.h to compile libdbus diff --git a/test/use-as-subproject/meson.build b/test/use-as-subproject/meson.build new file mode 100644 index 00000000..8111e9ee --- /dev/null +++ b/test/use-as-subproject/meson.build @@ -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 + ] +) diff --git a/test/use-as-subproject/use-libdbus.c b/test/use-as-subproject/use-libdbus.c new file mode 100644 index 00000000..3acbde1c --- /dev/null +++ b/test/use-as-subproject/use-libdbus.c @@ -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; +} |