[gimp/meson: 42/127] de-duplicate a lot of code



commit 0b51cbe3b0dc94d72af1dee6d58f110a003825fa
Author: Félix Piédallu <felix piedallu me>
Date:   Fri Nov 17 20:39:45 2017 +0100

    de-duplicate a lot of code

 modules/meson.build |  140 ++++++++++++++++++++------------------------------
 1 files changed, 56 insertions(+), 84 deletions(-)
---
diff --git a/modules/meson.build b/modules/meson.build
index e80287a..46a777d 100644
--- a/modules/meson.build
+++ b/modules/meson.build
@@ -40,97 +40,69 @@ display_filter_libs = [
   libgimpwidgets,
 ]
 
-libcolor_selector_cmyk = library('color-selector-cmyk',
-  'color-selector-cmyk.c',
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: color_selector_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
-
-libcolor_selector_water = library('color-selector-water',
-  'color-selector-water.c',
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: color_selector_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
-
-libcolor_selector_wheel = library('color-selector-wheel',
-  [
-    'color-selector-wheel.c',
-    'gimpcolorwheel.c',
+# Name, Sources, deps, link.
+modules = [
+  [ 'color-selector-cmyk',
+    [ 'color-selector-cmyk.c', ],
+    [], [ color_selector_libs, ],
+  ],
+  [ 'color-selector-water',
+    [ 'color-selector-water.c', ],
+    [], [ color_selector_libs, ],
+  ],
+  [ 'color-selector-wheel',
+    [ 'color-selector-wheel.c', 'gimpcolorwheel.c', ],
+    [], [ color_selector_libs, ],
+  ],
+  [ 'display-filter-color-blind',
+    [ 'display-filter-color-blind.c', ],
+    [], [ display_filter_libs, ],
+  ],
+  [ 'display-filter-gamma',
+    [ 'display-filter-gamma.c', ],
+    [], [ display_filter_libs, ],
+  ],
+  [ 'display-filter-high-contrast',
+    [ 'display-filter-high-contrast.c', ],
+    [], [ display_filter_libs, ],
   ],
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: color_selector_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
+]
 
 if have_linuxinput
-libcontroller_linux_input = library('controller-linux-input',
-  [
-    'controller-linux-input.c',
-    'gimpinputdevicestore-gudev.c',
-  ],
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: controller_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
+  modules += [
+    [ 'controller-linux-input',
+      [ 'controller-linux-input.c', 'gimpinputdevicestore-gudev.c', ],
+      [], [ controller_libs, ],
+    ],
+  ]
 endif
-if have_directXinput
-libcontroller_dx_input = library('controller-dx-input',
-  [
-    'controller-dx-dinput.c',
-    'gimpinputdevicestore-dx.c',
-  ],
-  include_directories: rootInclude,
-  dependencies: [modules_deps, directx],
-  link_with: [controller_libs, '-lrpcrt4'],
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
 
+if have_directXinput
+  modules += [
+    [ 'controller-dx-input',
+      [ 'controller-dx-dinput.c', 'gimpinputdevicestore-dx.c', ],
+      [ directx,  ], [ controller_libs, '-lrpcrt4', ],
+    ],
+  ]
 endif
+
 if not platform_win32
-libcontroller_midi = library('controller-midi',
-  'controller-midi.c',
-  include_directories: rootInclude,
-  dependencies:modules_deps,
-  link_with: controller_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
+  modules += [
+    [ 'controller-midi',
+      [ 'controller-midi.c', ],
+      [], [ controller_libs, ],
+    ],
+  ]
 endif
 
-libdisplay_filter_color_blind = library('display-filter-color-blind',
-  'display-filter-color-blind.c',
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: display_filter_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
-
-libdisplay_filter_gamma = library('display-filter-gamma',
-  'display-filter-gamma.c',
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: display_filter_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
 
-libdisplay_filter_high_contrast = library('display-filter-high-contrast',
-  'display-filter-high-contrast.c',
-  include_directories: rootInclude,
-  dependencies: modules_deps,
-  link_with: display_filter_libs,
-  install: true,
-  install_dir: join_paths(gimpplugindir, 'modules'),
-)
+foreach module : modules
+  library(module[0],
+    module[1],
+    include_directories: rootInclude,
+    dependencies: modules_deps + module[2],
+    link_with: module[3],
+    install: true,
+    install_dir: join_paths(gimpplugindir, 'modules'),
+  )
+endforeach


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]