meson - fix config install to install cfg files in right places and perms

cfg files were installed on top of eachother in the wrong directories
and they were unreadable by anyone but root (if you sudo make
install)... so fix this with my new chmod fixing stuff (yes meson
doesnt let you specific permissions for custom targets).
This commit is contained in:
Carsten Haitzler 2017-07-22 14:41:24 +09:00
parent 1cfdcc0482
commit 3126f103f0
7 changed files with 26 additions and 4 deletions

View File

@ -9,7 +9,11 @@ foreach cd: config_default
command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
output: config_default_output[i],
install: true,
install_dir: dir_config
install_dir: join_paths(dir_config, 'default')
)
i += 1
endforeach
foreach cd: config_default_output
out = join_paths(dir_config, 'default', cd)
meson.add_install_script(chmod, 'a+r', out)
endforeach

View File

@ -7,6 +7,8 @@ custom_target('profile.src',
install: true,
install_dir: dir_config
)
out = join_paths(dir_config, 'profile.cfg')
meson.add_install_script(chmod, 'a+r', out)
subdir('default')
subdir('mobile')

View File

@ -8,7 +8,7 @@ foreach cd: config_mobile
command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
output: config_mobile_output[i],
install: true,
install_dir: dir_config
install_dir: join_paths(dir_config, 'mobile')
)
i += 1
endforeach
@ -17,3 +17,7 @@ config_dist_mobile = ['enlightenment-mobile.png', 'profile.desktop']
install_data(config_dist_mobile,
install_dir: join_paths(dir_config, 'mobile')
)
foreach cd: config_mobile_output
out = join_paths(dir_config, 'mobile', cd)
meson.add_install_script(chmod, 'a+r', out)
endforeach

View File

@ -27,7 +27,7 @@ foreach cd: config_standard
command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
output: config_standard_output[i],
install: true,
install_dir: dir_config
install_dir: join_paths(dir_config, 'standard')
)
i += 1
endforeach
@ -36,3 +36,7 @@ config_dist_standard = ['enlightenment-standard.png', 'profile.desktop']
install_data(config_dist_standard,
install_dir: join_paths(dir_config, 'standard')
)
foreach cd: config_standard_output
out = join_paths(dir_config, 'standard', cd)
meson.add_install_script(chmod, 'a+r', out)
endforeach

View File

@ -29,7 +29,7 @@ foreach cd: config_tiling
command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
output: config_tiling_output[i],
install: true,
install_dir: dir_config
install_dir: join_paths(dir_config, 'tiling')
)
i += 1
endforeach
@ -38,3 +38,7 @@ config_dist_tiling = ['enlightenment-tiling.png', 'profile.desktop']
install_data(config_dist_tiling,
install_dir: join_paths(dir_config, 'tiling')
)
foreach cd: config_tiling_output
out = join_paths(dir_config, 'tiling', cd)
meson.add_install_script(chmod, 'a+r', out)
endforeach

2
meson-chmod.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
chmod "$1" "${DESTDIR}/$2"

View File

@ -4,6 +4,8 @@ project('enlightenment', 'c',
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
meson_version: '>= 0.40.0')
chmod = join_paths(meson.source_root(), 'meson-chmod.sh')
clean_check = run_command('meson/clean_check.sh')
if clean_check.returncode() == 0
error('Meson build requires a clean source tree')