diff --git a/meson.build b/meson.build index 0fe5008ab..e3b376130 100644 --- a/meson.build +++ b/meson.build @@ -225,10 +225,14 @@ git = find_program('git', required: false) time_epoch = run_command(sh, '-c', 'echo "$SOURCE_DATE_EPOCH"', check: true).stdout().strip() if time_epoch == '' and git.found() and run_command('test', '-e', '.git', check: false).returncode() == 0 # If we're in a git repository, use the creation time of the latest git tag. - latest_tag = run_command(git, 'describe', '--abbrev=0', '--tags', check: true).stdout().strip() - time_epoch = run_command(git, 'log', '--no-show-signature', '-1', '--format=%at', latest_tag, check: true).stdout() -else - # Fallback to current epoch. + latest_tag = run_command(git, 'describe', '--abbrev=0', '--tags', check: false).stdout().strip() + if latest_tag != '' + time_epoch = run_command(git, 'log', '--no-show-signature', '-1', '--format=%at', latest_tag, check: true).stdout() + endif +endif + +# Fallback to current epoch. +if time_epoch == '' time_epoch = run_command(date, '+%s', check: true).stdout() endif generate_date = run_command(date, '--utc', '--date=@' + time_epoch, '+%Y-%m-%d', check: true).stdout().strip()