meson.build revision dc61d50d
1# generate Info.plist
2# https://github.com/mesonbuild/meson/issues/8434
3#cpp = find_program('cpp')
4cpp = '/usr/bin/cpp'
5cpp_defs = [
6    '-DAPPLE_APPLICATION_NAME=@0@'.format(apple_application_name),
7    '-DBUNDLE_ID_PREFIX=@0@'.format(bundle_id_prefix),
8    '-DBUNDLE_VERSION=@0@'.format(bundle_version),
9    '-DBUNDLE_VERSION_STRING=@0@'.format(bundle_version_string),
10]
11
12if build_sparkle
13cpp_defs += sparkle_defs
14endif
15
16# bundle data
17localities = [
18    'Dutch', 'English', 'French', 'German', 'Italian', 'Japanese', 'Spanish',
19    'ar','ca','cs','da','el','fi','he','hr','hu','ko','no','pl','pt','pt_PT',
20    'ro','ru','sk','sv','th','tr','uk','zh_CN','zh_TW'
21]
22foreach lang : localities
23    install_data(join_paths('Resources', lang + '.lproj', 'Localizable.strings'),
24        install_dir: join_paths(bundle_root, 'Contents/Resources', lang + '.lproj'),
25        install_mode: 'rw-r--r--')
26
27    install_data(join_paths('Resources', lang + '.lproj', 'main.nib/keyedobjects.nib'),
28        install_dir: join_paths(bundle_root, 'Contents/Resources', lang + '.lproj', 'main.nib'),
29        install_mode: 'rw-r--r--')
30endforeach
31
32install_data('Resources/English.lproj/main.nib/designable.nib',
33    install_dir: join_paths(bundle_root, 'Contents/Resources/English.lproj/main.nib'),
34    install_mode: 'rw-r--r--')
35
36install_data('Resources/X11.icns',
37    install_dir: join_paths(bundle_root, 'Contents/Resources'),
38    install_mode: 'rw-r--r--')
39
40custom_target('Info.plist',
41    command: [cpp, '-P', cpp_defs, '@INPUT@'],
42    capture: true,
43    input: 'Info.plist.cpp',
44    output: 'Info.plist',
45    install: true,
46    install_dir: join_paths(bundle_root, 'Contents'),
47    install_mode: 'rw-r--r--',
48    build_by_default: true,
49)
50
51install_data('PkgInfo',
52    install_dir: join_paths(bundle_root, 'Contents'),
53    install_mode: 'rw-r--r--')
54
55install_data('X11.sh',
56    install_dir: join_paths(bundle_root, 'Contents/MacOS'),
57    install_mode: 'rwxr-xr-x')
58
59meson.add_install_script('chown-bundle.sh', bundle_root)
60