summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-12-23 18:32:26 +0100
committerJunio C Hamano <gitster@pobox.com>2024-12-23 18:32:26 +0100
commitf074cdea467524afd355766c6cdb27d6d94d1e4e (patch)
tree19f76609aeaa5aacf3c03c0f3eb11eb5379a48c0 /meson.build
parentMerge branch 'ps/ci-meson' (diff)
parentmeson: add options to override build information (diff)
downloadgit-f074cdea467524afd355766c6cdb27d6d94d1e4e.tar.xz
git-f074cdea467524afd355766c6cdb27d6d94d1e4e.zip
Merge branch 'ps/build-hotfix'
A topic to optionally build with meson, which has graduated to 'master' recently, has regressed the normal Makefile build, which is being corrected. * ps/build-hotfix: meson: add options to override build information GIT-VERSION-GEN: fix overriding GIT_BUILT_FROM_COMMIT and GIT_DATE GIT-VERSION-GEN: fix overriding GIT_VERSION Makefile: introduce template for GIT-VERSION-GEN Makefile: drop unneeded indirection for GIT-VERSION-GEN outputs Makefile: stop including "GIT-VERSION-FILE" in docs
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build13
1 files changed, 13 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index c7a909e48f..a0654a3f24 100644
--- a/meson.build
+++ b/meson.build
@@ -201,6 +201,16 @@ if get_option('sane_tool_path') != ''
script_environment.prepend('PATH', get_option('sane_tool_path'))
endif
+# The environment used by GIT-VERSION-GEN. Note that we explicitly override
+# environment variables that might be set by the user. This is by design so
+# that we always use whatever Meson has configured instead of what is present
+# in the environment.
+version_gen_environment = script_environment
+version_gen_environment.set('GIT_BUILT_FROM_COMMIT', get_option('built_from_commit'))
+version_gen_environment.set('GIT_DATE', get_option('build_date'))
+version_gen_environment.set('GIT_USER_AGENT', get_option('user_agent'))
+version_gen_environment.set('GIT_VERSION', get_option('version'))
+
compiler = meson.get_compiler('c')
libgit_sources = [
@@ -1484,6 +1494,7 @@ git_version_file = custom_target(
],
input: meson.current_source_dir() / 'GIT-VERSION-FILE.in',
output: 'GIT-VERSION-FILE',
+ env: version_gen_environment,
build_always_stale: true,
)
@@ -1500,6 +1511,7 @@ version_def_h = custom_target(
# Depend on GIT-VERSION-FILE so that we don't always try to rebuild this
# target for the same commit.
depends: [git_version_file],
+ env: version_gen_environment,
)
# Build a separate library for "version.c" so that we do not have to rebuild
@@ -1543,6 +1555,7 @@ if host_machine.system() == 'windows'
input: meson.current_source_dir() / 'git.rc.in',
output: 'git.rc',
depends: [git_version_file],
+ env: version_gen_environment,
)
common_main_sources += import('windows').compile_resources(git_rc,