aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meson.build16
-rw-r--r--meson_options.txt1
2 files changed, 14 insertions, 3 deletions
diff --git a/meson.build b/meson.build
index af383fbf..ac161987 100644
--- a/meson.build
+++ b/meson.build
@@ -23,10 +23,20 @@ pango = dependency('pango')
pixman = dependency('pixman-1')
libcap = dependency('libcap')
math = cc.find_library('m')
+git = find_program('git', required: false)
-git_commit_hash = run_command(['git', 'describe', '--always', '--tags']).stdout().strip()
-git_branch = run_command(['git', 'rev-parse', '--abbrev-ref', 'HEAD']).stdout().strip()
-version = '"@0@ (" __DATE__ ", branch \'@1@\')"'.format(git_commit_hash, git_branch)
+version = get_option('sway_version')
+if version != ''
+ version = '"@0@"'.format(version)
+else
+ if not git.found()
+ error('git is required to make the version string')
+ endif
+
+ git_commit_hash = run_command([git.path(), 'describe', '--always', '--tags']).stdout().strip()
+ git_branch = run_command([git.path(), 'rev-parse', '--abbrev-ref', 'HEAD']).stdout().strip()
+ version = '"@0@ (" __DATE__ ", branch \'@1@\')"'.format(git_commit_hash, git_branch)
+endif
add_project_arguments('-DSWAY_VERSION=@0@'.format(version), language: 'c')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 00000000..5015a986
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1 @@
+option('sway_version', type : 'string', description : 'The version string reported in `sway --version`.')