summaryrefslogtreecommitdiff
path: root/git-gui/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'git-gui/meson.build')
-rw-r--r--git-gui/meson.build97
1 files changed, 97 insertions, 0 deletions
diff --git a/git-gui/meson.build b/git-gui/meson.build
new file mode 100644
index 0000000000..320ba09ecf
--- /dev/null
+++ b/git-gui/meson.build
@@ -0,0 +1,97 @@
+project('git-gui',
+ meson_version: '>=0.61.0',
+)
+
+fs = import('fs')
+
+shell = find_program('sh')
+tclsh = find_program('tclsh')
+wish = find_program('wish')
+
+build_options_config = configuration_data()
+if target_machine.system() == 'windows'
+ build_options_config.set('GITGUI_RELATIVE', '1')
+else
+ build_options_config.set('GITGUI_RELATIVE', '')
+endif
+build_options_config.set_quoted('GITGUI_GITEXECDIR', get_option('prefix') / get_option('libexecdir') / 'git-core')
+build_options_config.set_quoted('GITGUI_LIBDIR', get_option('prefix') / get_option('datadir') / 'git-gui/lib')
+build_options_config.set_quoted('SHELL_PATH', fs.as_posix(shell.full_path()))
+build_options_config.set_quoted('TCLTK_PATH', fs.as_posix(wish.full_path()))
+build_options_config.set_quoted('TCL_PATH', fs.as_posix(tclsh.full_path()))
+
+build_options = configure_file(
+ input: 'GIT-GUI-BUILD-OPTIONS.in',
+ output: 'GIT-GUI-BUILD-OPTIONS',
+ configuration: build_options_config,
+)
+
+version_file = custom_target(
+ input: 'GIT-VERSION-GEN',
+ output: 'GIT-VERSION-FILE',
+ command: [
+ shell,
+ '@INPUT@',
+ meson.current_source_dir(),
+ '@OUTPUT@',
+ ],
+ build_always_stale: true,
+)
+
+gitgui_main = 'git-gui'
+gitgui_main_install_dir = get_option('libexecdir') / 'git-core'
+
+if target_machine.system() == 'windows'
+ gitgui_main = 'git-gui.tcl'
+
+ configure_file(
+ input: 'windows/git-gui.sh',
+ output: 'git-gui',
+ copy: true,
+ install: true,
+ install_dir: get_option('libexecdir') / 'git-core',
+ )
+endif
+
+custom_target(
+ output: 'git-gui--askpass',
+ input: 'git-gui--askpass.sh',
+ command: [
+ shell,
+ meson.current_source_dir() / 'generate-script.sh',
+ '@OUTPUT@',
+ '@INPUT@',
+ meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
+ ],
+ install: true,
+ install_dir: get_option('libexecdir') / 'git-core',
+)
+
+custom_target(
+ input: 'git-gui.sh',
+ output: gitgui_main,
+ command: [
+ shell,
+ meson.current_source_dir() / 'generate-git-gui.sh',
+ '@INPUT@',
+ '@OUTPUT@',
+ meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
+ meson.current_build_dir() / 'GIT-VERSION-FILE',
+ ],
+ depends: [
+ version_file,
+ ],
+ depend_files: [
+ build_options,
+ ],
+ install: true,
+ install_dir: gitgui_main_install_dir,
+)
+
+install_symlink('git-citool',
+ install_dir: get_option('libexecdir') / 'git-core',
+ pointing_to: 'git-gui',
+)
+
+subdir('lib')
+subdir('po')