From: Daniel Wagner Date: Fri, 13 Jan 2023 12:29:06 +0000 (+0100) Subject: gitlab-ci: build libdbus as subproject X-Git-Tag: dbus-1.15.4~5^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1e8793e8d950c2bcc09ed708b474d412cad8cb5;p=thirdparty%2Fdbus.git gitlab-ci: build libdbus as subproject Test it's possible to consume libdbus as a subproject. Suggested-by: Simon McVittie Signed-off-by: Daniel Wagner --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 64f4f569f..f20b0ee5a 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 000000000..2c32b030c --- /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 000000000..e5e5c74e5 --- /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 000000000..e5e5c74e5 --- /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 000000000..8111e9ee4 --- /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 000000000..3acbde1c3 --- /dev/null +++ b/test/use-as-subproject/use-libdbus.c @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2023 SUSE LLC + * SPDX-License-Identifier: MIT + */ + +#include +#include + +int main(void) +{ + DBusMessage *m = NULL; + + m = dbus_message_new_signal ("/", "com.example.Interface", "Signal"); + assert (m != NULL); + dbus_message_unref (m); + return 0; +}