Git 2.48
[git/gitster.git] / gitweb / meson.build
blob89b403dc9de76888e84ad24a080284a202dbb24b
1 gitweb_config = configuration_data()
2 gitweb_config.set_quoted('PERL_PATH', perl.full_path())
3 gitweb_config.set_quoted('CSSMIN', '')
4 gitweb_config.set_quoted('JSMIN', '')
5 gitweb_config.set_quoted('GIT_BINDIR', get_option('prefix') / get_option('bindir'))
6 gitweb_config.set_quoted('GITWEB_CONFIG', get_option('gitweb_config'))
7 gitweb_config.set_quoted('GITWEB_CONFIG_SYSTEM', get_option('gitweb_config_system'))
8 gitweb_config.set_quoted('GITWEB_CONFIG_COMMON', get_option('gitweb_config_common'))
9 gitweb_config.set_quoted('GITWEB_HOME_LINK_STR', get_option('gitweb_home_link_str'))
10 gitweb_config.set_quoted('GITWEB_SITENAME', get_option('gitweb_sitename'))
11 gitweb_config.set_quoted('GITWEB_PROJECTROOT', get_option('gitweb_projectroot'))
12 gitweb_config.set_quoted('GITWEB_PROJECT_MAXDEPTH', get_option('gitweb_project_maxdepth'))
13 gitweb_config.set_quoted('GITWEB_EXPORT_OK', get_option('gitweb_export_ok'))
14 gitweb_config.set_quoted('GITWEB_STRICT_EXPORT', get_option('gitweb_strict_export'))
15 gitweb_config.set_quoted('GITWEB_BASE_URL', get_option('gitweb_base_url'))
16 gitweb_config.set_quoted('GITWEB_LIST', get_option('gitweb_list'))
17 gitweb_config.set_quoted('GITWEB_HOMETEXT', get_option('gitweb_hometext'))
18 gitweb_config.set_quoted('GITWEB_CSS', get_option('gitweb_css'))
19 gitweb_config.set_quoted('GITWEB_LOGO', get_option('gitweb_logo'))
20 gitweb_config.set_quoted('GITWEB_FAVICON', get_option('gitweb_favicon'))
21 gitweb_config.set_quoted('GITWEB_JS', get_option('gitweb_js'))
22 gitweb_config.set_quoted('GITWEB_SITE_HTML_HEAD_STRING', get_option('gitweb_site_html_head_string'))
23 gitweb_config.set_quoted('GITWEB_SITE_HEADER', get_option('gitweb_site_header'))
24 gitweb_config.set_quoted('GITWEB_SITE_FOOTER', get_option('gitweb_site_footer'))
25 gitweb_config.set_quoted('HIGHLIGHT_BIN', get_option('highlight_bin'))
27 configure_file(
28   input: 'GITWEB-BUILD-OPTIONS.in',
29   output: 'GITWEB-BUILD-OPTIONS',
30   configuration: gitweb_config,
33 test_dependencies += custom_target(
34   input: 'gitweb.perl',
35   output: 'gitweb.cgi',
36   command: [
37     shell,
38     meson.current_source_dir() / 'generate-gitweb-cgi.sh',
39     meson.current_build_dir() / 'GITWEB-BUILD-OPTIONS',
40     git_version_file.full_path(),
41     '@INPUT@',
42     '@OUTPUT@',
43   ],
44   install: true,
45   install_dir: get_option('datadir') / 'gitweb',
46   depends: [git_version_file],
49 javascript_files = [
50   meson.current_source_dir() / 'static/js/adjust-timezone.js',
51   meson.current_source_dir() / 'static/js/blame_incremental.js',
52   meson.current_source_dir() / 'static/js/javascript-detection.js',
53   meson.current_source_dir() / 'static/js/lib/common-lib.js',
54   meson.current_source_dir() / 'static/js/lib/cookies.js',
55   meson.current_source_dir() / 'static/js/lib/datetime.js',
58 test_dependencies += custom_target(
59   input: javascript_files,
60   output: 'gitweb.js',
61   command: [
62     shell,
63     meson.current_source_dir() / 'generate-gitweb-js.sh',
64     '@OUTPUT@',
65   ] + javascript_files,
66   install: true,
67   install_dir: get_option('datadir') / 'gitweb/static',
70 foreach asset : [
71   'static/git-favicon.png',
72   'static/git-logo.png',
73   'static/gitweb.css',
75   if meson.version().version_compare('>=1.3.0')
76     fs.copyfile(asset,
77       install: true,
78       install_dir: get_option('datadir') / 'gitweb' / fs.parent(asset),
79     )
80   else
81     configure_file(
82       input: asset,
83       output: fs.stem(asset),
84       copy: true,
85       install: true,
86       install_dir: get_option('datadir') / 'gitweb' / fs.parent(asset),
87     )
88   endif
89 endforeach