diff options
author | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-09-26 19:18:04 +0200 |
---|---|---|
committer | Kjell Ahlstedt <kjellahlstedt@gmail.com> | 2022-09-26 19:18:04 +0200 |
commit | 828c4c31b9b431d735b6bf79a94a9ca159470049 (patch) | |
tree | 376857ae35f450c157f5e488ba105f88a156addf /meson.build | |
parent | ca716cab5075a3cfeb59fd1f1f3d38b422619293 (diff) | |
download | glibmm-828c4c31b9b431d735b6bf79a94a9ca159470049.tar.gz |
meson.build: Detect if we build from a git subtree
See gtkmm!72 (William Roy)
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/meson.build b/meson.build index b73a1ccc..b89fcf73 100644 --- a/meson.build +++ b/meson.build @@ -57,13 +57,15 @@ if not python_version.version_compare(python_version_req) endif # Do we build from a git repository? -# Suppose we do if and only if a '.git' directory or file exists. +# Suppose we do if and only if the meson.build file is tracked by git. cmd_py = ''' -import os -import sys -sys.exit(os.path.isdir("@0@") or os.path.isfile("@0@")) -'''.format(project_source_root / '.git') -is_git_build = run_command(python3, '-c', cmd_py, check: false).returncode() != 0 +import os, sys, subprocess, shutil +if not shutil.which('git'): + sys.exit(1) +cmd = [ 'git', 'ls-files', '--error-unmatch', 'meson.build' ] +sys.exit(subprocess.run(cmd, cwd="@0@", stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL).returncode) +'''.format(project_source_root) +is_git_build = run_command(python3, '-c', cmd_py, check: false).returncode() == 0 # Are we testing a dist tarball while it's being built? # There ought to be a better way. https://github.com/mesonbuild/meson/issues/6866 |