|
|
|
project('generated header dep', 'c')
|
|
|
|
|
|
|
|
# Regression test case for a very specific case:
|
|
|
|
# - Uses both_libraries(), or library() with default_library=both.
|
|
|
|
# - A header file is generated by a custom_target() and passed as source.
|
|
|
|
# - A C file that uses that header is passed as a declare_dependency() source.
|
|
|
|
# Under those specific conditions, the static library used to miss an order
|
|
|
|
# dependency on the header file. This happened in GLib:
|
|
|
|
# https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2917.
|
|
|
|
|
|
|
|
python = find_program('python3')
|
|
|
|
header = custom_target(
|
|
|
|
output: 'foo.h',
|
|
|
|
capture: true,
|
|
|
|
command: [python, '-c', 'print("#define FOO")'],
|
|
|
|
)
|
|
|
|
|
|
|
|
sources_dep = declare_dependency(sources: files('foo.c'))
|
|
|
|
|
|
|
|
both_libraries('foo', header,
|
|
|
|
dependencies: sources_dep,
|
|
|
|
)
|