mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
meson: always use vcs_tag
The branch with configure_file() was broken: meson doesn't know that
this file is a prerequisite for other targets, so partial rebuilds were broken.
Easy reproducer:
git mv .git{,.no}
touch meson build && ninja -C build src/basic/libbasic.a
rm build/version.h
ninja -C build src/basic/libbasic.a
Using vcs_tag() also in that case makes meson always build the file.
(Combined with the issue fixed in previous commit, I was encountering
failed builds quite often.)
Fixes 3f6ce3d4f0
.
This commit is contained in:
parent
9e11979765
commit
d5dd917a02
23
meson.build
23
meson.build
@ -1853,20 +1853,15 @@ endif
|
||||
conf.set_quoted('VERSION_TAG', version_tag)
|
||||
|
||||
vcs_tag = get_option('vcs-tag')
|
||||
if vcs_tag and fs.exists(project_source_root / '.git')
|
||||
version_h = vcs_tag(
|
||||
input : 'src/version/version.h.in',
|
||||
output : 'version.h',
|
||||
fallback : '',
|
||||
command : ['sh', '-c', 'echo "-g$(git -C . describe --abbrev=7 --match="" --always --dirty=^)"'],
|
||||
)
|
||||
else
|
||||
version_h = configure_file(
|
||||
input : 'src/version/version.h.in',
|
||||
output : 'version.h',
|
||||
configuration : configuration_data({'VCS_TAG' : ''}),
|
||||
)
|
||||
endif
|
||||
command = ['sh', '-c',
|
||||
vcs_tag and fs.exists(project_source_root / '.git') ?
|
||||
'echo "-g$(git -C . describe --abbrev=7 --match="" --always --dirty=^)"' : ':']
|
||||
version_h = vcs_tag(
|
||||
input : 'src/version/version.h.in',
|
||||
output : 'version.h',
|
||||
fallback : '',
|
||||
command : command,
|
||||
)
|
||||
|
||||
shared_lib_tag = get_option('shared-lib-tag')
|
||||
if shared_lib_tag == ''
|
||||
|
Loading…
Reference in New Issue
Block a user