build: Link subprojects statically if built as a subproject

If we're building a dependency as a fallback subproject, we don't want
to be responsible for installing it as a shared library. Anyone wanting
shared libraries should install the dependencies separately.

Ideally we'd do this with MSVC too, but that doesn't currently link
successfully (dbus#549).

Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
Simon McVittie 2025-02-28 12:31:01 +00:00
parent 3ca6a3fec4
commit 57abac5bc8

View file

@ -368,6 +368,12 @@ fallback_subproject_options = [
'werror=false',
]
if cc.get_id() != 'msvc'
# TODO: Ideally we'd have default_library=static with MSVC too,
# but see https://gitlab.freedesktop.org/dbus/dbus/-/issues/549
fallback_subproject_options += ['default_library=static']
endif
# Controls whether message bus daemon is built. Tests which depend on
# a running dbus-daemon will be disabled if message_bus is not set.
message_bus = get_option('message_bus')