From c80766dfa275a60b2047701d816e2f45395e75dd Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Thu, 10 Aug 2017 20:22:55 +0900 Subject: [PATCH] e meson build - refactor and clean up config and some module only cfg config that is only needed fro modules only needs to be don in the modules subdir meson.build... i tried doing what modules do but output files cant have paths. --- config/default/meson.build | 33 +++++++++-------- config/meson.build | 17 +++++---- config/mobile/meson.build | 44 +++++++++++++---------- config/standard/meson.build | 67 ++++++++++++++++------------------- config/tiling/meson.build | 70 ++++++++++++++++--------------------- meson.build | 20 +++-------- src/modules/meson.build | 6 ++++ 7 files changed, 125 insertions(+), 132 deletions(-) diff --git a/config/default/meson.build b/config/default/meson.build index 8a67ba227..8f85344d9 100644 --- a/config/default/meson.build +++ b/config/default/meson.build @@ -1,19 +1,22 @@ -config_default = ['e.src', 'e_bindings.src'] -config_default_output = ['e.cfg', 'e_bindings.cfg'] +dir = 'default' +src = [ + 'e', + 'e_bindings' +] -config_dist_default = ['enlightenment-default.png', 'profile.desktop'] +##### boilerplate config build + install of icons/dirs i = 0 -foreach cd: config_default - custom_target(' '.join(['config_dist_default', cd]), - input: cd, - command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], - output: config_default_output[i], - install: true, - install_dir: join_paths(dir_config, 'default') - ) - i += 1 +foreach cd: src + custom_target(' '.join(['config_dist', dir, cd]), + input : cd + '.src', + output : cd + '.cfg', + command : [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], + install : true, + install_dir: join_paths(dir_config, dir) + ) + i += 1 endforeach -foreach cd: config_default_output - out = join_paths(dir_config, 'default', cd) - meson.add_install_script(chmod, 'a+r', out) +foreach cd: src + o = join_paths(dir_config, dir, cd + '.cfg') + meson.add_install_script(chmod, 'a+r', o) endforeach diff --git a/config/meson.build b/config/meson.build index 71ad26a34..221b21997 100644 --- a/config/meson.build +++ b/config/meson.build @@ -1,12 +1,17 @@ dir_config = join_paths(dir_data, 'enlightenment/data/config') +eet = find_program('eet') +gen_eet = generator(eet, + output : '@BASENAME@.cfg', + arguments: ['-e', '@OUTPUT@', 'config', '@INPUT@', '1']) + custom_target('profile.src', - input: 'profile.src', - command: [eet, '-i', '@OUTPUT@', 'config', '@INPUT@', '1'], - output: ['profile.cfg'], - install: true, - install_dir: dir_config -) + input : 'profile.src', + command : [eet, '-i', '@OUTPUT@', 'config', '@INPUT@', '1'], + output : ['profile.cfg'], + install : true, + install_dir: dir_config + ) out = join_paths(dir_config, 'profile.cfg') meson.add_install_script(chmod, 'a+r', out) diff --git a/config/mobile/meson.build b/config/mobile/meson.build index 411408fd7..655bfb357 100644 --- a/config/mobile/meson.build +++ b/config/mobile/meson.build @@ -1,23 +1,29 @@ -config_mobile = ['e.src', 'e_bindings.src', 'module.battery.src', 'module.conf.src'] -config_mobile_output = ['e.cfg', 'e_bindings.cfg', 'module.battery.cfg', 'module.conf.cfg'] +dir='mobile' +src = [ + 'e', + 'e_bindings', + 'module.battery', + 'module.conf' +] +##### boilerplate config build + install of icons/dirs i = 0 -foreach cd: config_mobile - custom_target(' '.join(['config_dist_mobile', cd]), - input: cd, - command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], - output: config_mobile_output[i], - install: true, - install_dir: join_paths(dir_config, 'mobile') - ) - i += 1 +foreach cd: src + custom_target(' '.join(['config_dist', dir, cd]), + input : cd + '.src', + output : cd + '.cfg', + command : [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], + install : true, + install_dir: join_paths(dir_config, dir) + ) + i += 1 endforeach - -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) +install_data([ 'enlightenment-' + dir + '.png', + 'profile.desktop' + ], + install_dir: join_paths(dir_config, dir) + ) +foreach cd: src + o = join_paths(dir_config, dir, cd + '.cfg') + meson.add_install_script(chmod, 'a+r', o) endforeach diff --git a/config/standard/meson.build b/config/standard/meson.build index 307ade3f7..bb430da27 100644 --- a/config/standard/meson.build +++ b/config/standard/meson.build @@ -1,42 +1,35 @@ -config_standard = ['e.src', 'e_bindings.src', - 'module.battery.src', - 'module.cpufreq.src', - 'module.fileman.src', - 'module.ibar.src', - 'module.ibox.src', - 'module.pager.src', - 'module.temperature.src', - 'module.conf.src' -] - -config_standard_output = ['e.cfg', 'e_bindings.cfg', - 'module.battery.cfg', - 'module.cpufreq.cfg', - 'module.fileman.cfg', - 'module.ibar.cfg', - 'module.ibox.cfg', - 'module.pager.cfg', - 'module.temperature.cfg', - 'module.conf.cfg' +dir = 'standard' +src = [ + 'e', + 'e_bindings', + 'module.battery', + 'module.cpufreq', + 'module.fileman', + 'module.ibar', + 'module.ibox', + 'module.pager', + 'module.temperature', + 'module.conf' ] +##### boilerplate config build + install of icons/dirs i = 0 -foreach cd: config_standard - custom_target(' '.join(['config_dist_standard', cd]), - input: cd, - command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], - output: config_standard_output[i], - install: true, - install_dir: join_paths(dir_config, 'standard') - ) - i += 1 +foreach cd: src + custom_target(' '.join(['config_dist', dir, cd]), + input : cd + '.src', + output : cd + '.cfg', + command : [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], + install : true, + install_dir: join_paths(dir_config, dir) + ) + i += 1 endforeach - -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) +install_data([ 'enlightenment-' + dir + '.png', + 'profile.desktop' + ], + install_dir: join_paths(dir_config, dir) + ) +foreach cd: src + o = join_paths(dir_config, dir, cd + '.cfg') + meson.add_install_script(chmod, 'a+r', o) endforeach diff --git a/config/tiling/meson.build b/config/tiling/meson.build index d4973b7f8..806396579 100644 --- a/config/tiling/meson.build +++ b/config/tiling/meson.build @@ -1,44 +1,36 @@ -config_tiling = ['e.src', 'e_bindings.src', - 'module.battery.src', - 'module.cpufreq.src', - 'module.fileman.src', - 'module.ibar.src', - 'module.ibox.src', - 'module.pager.src', - 'module.temperature.src', - 'module.tiling.src', - 'module.conf.src' -] - -config_tiling_output = ['e.cfg', 'e_bindings.cfg', - 'module.battery.cfg', - 'module.cpufreq.cfg', - 'module.fileman.cfg', - 'module.ibar.cfg', - 'module.ibox.cfg', - 'module.pager.cfg', - 'module.temperature.cfg', - 'module.tiling.cfg', - 'module.conf.cfg' +dir = 'tiling' +src = [ + 'e', + 'e_bindings', + 'module.battery', + 'module.cpufreq', + 'module.fileman', + 'module.ibar', + 'module.ibox', + 'module.pager', + 'module.temperature', + 'module.tiling', + 'module.conf' ] +##### boilerplate config build + install of icons/dirs i = 0 -foreach cd: config_tiling - custom_target(' '.join(['config_dist_tiling', cd]), - input: cd, - command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], - output: config_tiling_output[i], - install: true, - install_dir: join_paths(dir_config, 'tiling') - ) - i += 1 +foreach cd: src + custom_target(' '.join(['config_dist', dir, cd]), + input : cd + '.src', + output : cd + '.cfg', + command : [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'], + install : true, + install_dir: join_paths(dir_config, dir) + ) + i += 1 endforeach - -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) +install_data([ 'enlightenment-' + dir + '.png', + 'profile.desktop' + ], + install_dir: join_paths(dir_config, dir) + ) +foreach cd: src + o = join_paths(dir_config, dir, cd + '.cfg') + meson.add_install_script(chmod, 'a+r', o) endforeach diff --git a/meson.build b/meson.build index bfcd4dc9a..a23cdbaaa 100644 --- a/meson.build +++ b/meson.build @@ -82,7 +82,7 @@ config_h.set('_ALL_SOURCE' , '1') config_h.set('_POSIX_PTHREAD_SEMANTICS', '1') config_h.set('_TANDEM_SOURCE' , '1') config_h.set('__EXTENSIONS__' , '1') -#config_h.set('E_RELEASE_BUILD', '1') +#config_h.set('E_RELEASE_BUILD' , '1') if get_option('nls') == true subdir('po') @@ -302,13 +302,13 @@ if get_option('wayland') == true ]) wayland_scanner = find_program('wayland-scanner') gen_scanner_client = generator(wayland_scanner, - output: '@BASENAME@-client-protocol.h', + output : '@BASENAME@-client-protocol.h', arguments: ['client-header', '@INPUT@', '@OUTPUT@']) gen_scanner_server = generator(wayland_scanner, - output: '@BASENAME@-server-protocol.h', + output : '@BASENAME@-server-protocol.h', arguments: ['server-header', '@INPUT@', '@OUTPUT@']) gen_scanner_impl = generator(wayland_scanner, - output: '@BASENAME@-protocol.c', + output : '@BASENAME@-protocol.c', arguments: ['code', '@INPUT@', '@OUTPUT@']) config_h.set('HAVE_WAYLAND', '1') endif @@ -325,11 +325,6 @@ if dep_xkeyboard_config.found() == true config_h.set_quoted('XKB_BASE', dep_xkeyboard_config.get_pkgconfig_variable('xkb_base')) endif -eet = find_program('eet') -gen_eet = generator(eet, - output: '@BASENAME@.cfg', - arguments: ['-e', '@OUTPUT@', 'config', '@INPUT@', '1']) - eldbus_codegen = find_program('eldbus-codegen') requires_e = [] @@ -341,12 +336,6 @@ endif subdir('src/bin') -module_files = [] -module_ldflags = '-module -avoid-version' -module_includes = [ '../../..', '../../bin', '../../bin/efx' ] -module_includes2 = [ '../..' , '../bin' , '../bin/efx' ] -module_deps = [ deps_e, dep_dl ] - subdir('src/modules') subdir('config') @@ -376,7 +365,6 @@ pkgconfig.generate(name : proj, description : 'Enlightenment Window Manager', filebase : proj, subdirs : proj, - #requires: deps_e, requires : requires_e, version : e_version_rev, libraries_private: '-lm', diff --git a/src/modules/meson.build b/src/modules/meson.build index ea27bd87d..545bcc1c6 100644 --- a/src/modules/meson.build +++ b/src/modules/meson.build @@ -1,3 +1,9 @@ +module_files = [] +module_ldflags = '-module -avoid-version' +module_includes = [ '../../..', '../../bin', '../../bin/efx' ] +module_includes2 = [ '../..' , '../bin' , '../bin/efx' ] +module_deps = [ deps_e, dep_dl ] + subdir('battery') subdir('cpufreq') subdir('wizard')