[gnome-builder/wip/tingping/meson-build] fixup! build: Initial conversion to Meson



commit 13540f9d6075da9570b6f5a212c20bd3763b2031
Author: Patrick Griffis <tingping tingping se>
Date:   Mon Oct 10 20:16:14 2016 -0400

    fixup! build: Initial conversion to Meson

 contrib/gd/meson.build                           |    7 ++
 contrib/gstyle/meson.build                       |  108 ++++++++++++++++++++++
 contrib/nautilus/meson.build                     |    7 ++
 contrib/pnl/meson.build                          |    6 +-
 contrib/rg/meson.build                           |   38 ++++++++
 contrib/search/meson.build                       |    7 ++
 contrib/xml/meson.build                          |    8 ++
 libide/meson.build                               |    9 ++-
 meson.build                                      |    2 +-
 meson_options.txt                                |   41 ++++++++-
 plugins/autotools-templates/meson.build          |    6 +
 plugins/autotools/meson.build                    |   13 +--
 plugins/build-tools/meson.build                  |   43 +++++++++
 plugins/c-pack/meson.build                       |   21 ++++
 plugins/clang/meson.build                        |   44 +++++++++
 plugins/color-picker/meson.build                 |   42 +++++++++
 plugins/command-bar/meson.build                  |   47 ++++++++++
 plugins/comment-code/meson.build                 |   24 +++++
 plugins/contributing/meson.build                 |    6 +
 plugins/create-project/meson.build               |   30 ++++++
 plugins/ctags/meson.build                        |   32 +++++++
 plugins/devhelp/meson.build                      |   34 +++++++
 plugins/file-search/meson.build                  |   24 +++++
 plugins/flatpak/meson.build                      |   23 +++++
 plugins/fpaste/meson.build                       |    6 +
 plugins/gcc/meson.build                          |   17 ++++
 plugins/gettext/meson.build                      |   17 ++++
 plugins/git/meson.build                          |   76 +++++++++++++++
 plugins/gnome-code-assistance/meson.build        |   30 ++++++
 plugins/hello-cpp/meson.build                    |   19 ++++
 plugins/html-completion/meson.build              |   20 ++++
 plugins/html-preview/meson.build                 |    6 +
 plugins/jedi/meson.build                         |    5 +
 plugins/jhbuild/meson.build                      |    5 +
 plugins/meson.build                              |   76 ++++++++-------
 plugins/mingw/meson.build                        |   19 ++++
 plugins/project-tree/meson.build                 |   51 ++++++++++
 plugins/python-gi-imports-completion/meson.build |    8 ++
 plugins/python-pack/meson.build                  |   19 ++++
 plugins/quick-highlight/meson.build              |   19 ++++
 plugins/support/meson.build                      |   26 +++++
 plugins/symbol-tree/meson.build                  |   28 ++++++
 plugins/sysmon/meson.build                       |   30 ++++++
 plugins/sysprof/meson.build                      |   31 ++++++
 plugins/terminal/meson.build                     |   39 ++++++++
 plugins/todo/meson.build                         |    6 +
 plugins/xml-pack/meson.build                     |   21 ++++
 47 files changed, 1141 insertions(+), 55 deletions(-)
---
diff --git a/contrib/gd/meson.build b/contrib/gd/meson.build
index d3a3762..219fdc0 100644
--- a/contrib/gd/meson.build
+++ b/contrib/gd/meson.build
@@ -17,3 +17,10 @@ libgd = static_library('gd', libgd_sources,
   dependencies: libgd_deps,
   pic: true,
 )
+
+libgd_dep = declare_dependency(
+  link_with: libgd,
+  include_directories: include_directories([
+    meson.current_source_dir(),
+  ]),
+)
diff --git a/contrib/gstyle/meson.build b/contrib/gstyle/meson.build
index e69de29..a7836d9 100644
--- a/contrib/gstyle/meson.build
+++ b/contrib/gstyle/meson.build
@@ -0,0 +1,108 @@
+libgstyle_headers = [
+  'gstyle-animation.h',
+  'gstyle-cielab.h',
+  'gstyle-color.h',
+  'gstyle-color-component.h',
+  'gstyle-color-convert.h',
+  'gstyle-color-filter.h',
+  'gstyle-color-item.h',
+  'gstyle-color-panel.h',
+  'gstyle-color-panel-private.h',
+  'gstyle-color-panel-actions.h',
+  'gstyle-color-plane.h',
+  'gstyle-color-predefined.h',
+  'gstyle-color-scale.h',
+  'gstyle-color-widget.h',
+  'gstyle-color-widget-actions.h',
+  'gstyle-colorlexer.h',
+  'gstyle-css-provider.h',
+  'gstyle-eyedropper.h',
+  'gstyle-hsv.h',
+  'gstyle-palette.h',
+  'gstyle-palette-widget.h',
+  'gstyle-private.h',
+  'gstyle-rename-popover.h',
+  'gstyle-revealer.h',
+  'gstyle-slidein.h',
+  'gstyle-types.h',
+  'gstyle-utils.h',
+  'gstyle-xyz.h',
+]
+
+libgstyle_header_dir = path_join(get_option('includedir'),
+  'gnome-builder-' + meson.project_version(), 'gstyle')
+
+install_headers(libgstyle_headers,
+  install_dir: libgstyle_header_dir,
+)
+
+libgstyle_resources = gnome.compile_resources('gstyle-resources',
+  'gstyle.gresource.xml',
+  c_name: 'gstyle',
+)
+
+libgstyle_sources = [
+  'gstyle-animation.c',
+  'gstyle-cielab.c',
+  'gstyle-color.c',
+  'gstyle-color-component.c',
+  'gstyle-color-convert.c',
+  'gstyle-color-filter.c',
+  'gstyle-color-item.c',
+  'gstyle-color-panel.c',
+  'gstyle-color-panel-actions.c',
+  'gstyle-color-plane.c',
+  'gstyle-color-scale.c',
+  'gstyle-color-widget.c',
+  'gstyle-color-widget-actions.c',
+  'gstyle-colorlexer.c',
+  'gstyle-css-provider.c',
+  'gstyle-eyedropper.c',
+  'gstyle-hsv.c',
+  'gstyle-palette.c',
+  'gstyle-palette-widget.c',
+  'gstyle-rename-popover.c',
+  'gstyle-revealer.c',
+  'gstyle-slidein.c',
+  'gstyle-utils.c',
+  'gstyle-xyz.c',
+  libgstyle_resources[0],
+]
+
+libgstyle_deps = [
+  dependency('gtk+-3.0'),
+  libsearch_dep,
+  libxml_dep,
+]
+
+libgstyle = shared_library('gstyle-private', libgstyle_sources,
+  dependencies: libgstyle_deps,
+  install: true,
+  install_dir: pkglibdir,
+)
+
+libgstyle_dep = declare_dependency(
+  link_with: libgstyle,
+  include_directories: include_directories([
+    meson.current_source_dir()
+  ])
+)
+
+if get_option('with_introspection')
+
+gnome.generate_gir(libgstyle,
+  sources: libgstyle_sources + libgstyle_headers,
+  nsversion: '1.0',
+  namespace: 'Gstyle',
+  symbol_prefix: 'gstyle',
+  identifier_prefix: 'Gstyle',
+  includes: ['Gtk-3.0', 'GtkSource-3.0'],
+  install: true,
+  install_dir_gir: pkggirdir,
+  install_dir_typelib: pkgtypelibdir,
+  extra_args: [
+    '--c-include=gstyle-private.h',
+  ],
+)
+
+endif
diff --git a/contrib/nautilus/meson.build b/contrib/nautilus/meson.build
index 61a404b..35e0451 100644
--- a/contrib/nautilus/meson.build
+++ b/contrib/nautilus/meson.build
@@ -11,3 +11,10 @@ libnautilus = static_library('nautilus', libnautilus_sources,
   dependencies: libnautilus_deps,
   pic: true,
 )
+
+libnautilus_dep = declare_dependency(
+  link_with: libnautilus,
+  include_directories: include_directories([
+    meson.current_source_dir(),
+  ]),
+)
diff --git a/contrib/pnl/meson.build b/contrib/pnl/meson.build
index 2eed0a7..bbf0afb 100644
--- a/contrib/pnl/meson.build
+++ b/contrib/pnl/meson.build
@@ -84,7 +84,7 @@ libpnl = shared_library('panel-gtk', libpnl_sources,
   dependencies: libpnl_deps,
   c_args: ['-DPNL_COMPILATION'],
   install: true,
-  install_dir: get_option('libdir') + '/gnome-builder',
+  install_dir: pkglibdir,
 )
 
 libpnl_dep = declare_dependency(
@@ -106,8 +106,8 @@ gnome.generate_gir(libpnl,
   identifier_prefix: 'Pnl',
   includes: ['Gtk-3.0'],
   install: true,
-  install_dir_gir: get_option('datadir') + '/gnome-builder/gir-1.0',
-  install_dir_typelib: get_option('datadir') + '/gnome-builder/girepository-1.0',
+  install_dir_gir: pkggirdir,
+  install_dir_typelib: pkgtypelibdir,
   extra_args: [
     '-DPNL_COMPILATION',
   ],
diff --git a/contrib/rg/meson.build b/contrib/rg/meson.build
index e69de29..799261c 100644
--- a/contrib/rg/meson.build
+++ b/contrib/rg/meson.build
@@ -0,0 +1,38 @@
+librg_sources = [
+  'realtime-graphs.h',
+  'rg-column.c',
+  'rg-column.h',
+  'rg-column-private.h',
+  'rg-cpu-graph.c',
+  'rg-cpu-graph.h',
+  'rg-cpu-table.c',
+  'rg-cpu-table.h',
+  'rg-graph.c',
+  'rg-graph.h',
+  'rg-line-renderer.c',
+  'rg-line-renderer.h',
+  'rg-renderer.c',
+  'rg-renderer.h',
+  'rg-ring.c',
+  'rg-ring.h',
+  'rg-table.c',
+  'rg-table.h',
+]
+
+librg_deps = [
+  dependency('gio-2.0'),
+  dependency('gtk+-3.0'),
+  libegg_dep,
+]
+
+librg = static_library('rg', librg_sources,
+  dependencies: librg_deps,
+  pic: true,
+)
+
+librg_dep = declare_dependency(
+  link_with: librg,
+  include_directories: include_directories([
+    meson.current_source_dir(),
+  ]),
+)
diff --git a/contrib/search/meson.build b/contrib/search/meson.build
index 2c65456..cbe0678 100644
--- a/contrib/search/meson.build
+++ b/contrib/search/meson.build
@@ -11,3 +11,10 @@ libsearch = static_library('search', libsearch_sources,
   dependencies: libsearch_deps,
   pic: true,
 )
+
+libsearch_dep = declare_dependency(
+  link_with: libsearch,
+  include_directories: include_directories([
+    meson.current_source_dir(),
+  ]),
+)
diff --git a/contrib/xml/meson.build b/contrib/xml/meson.build
index 23f5aeb..9a64181 100644
--- a/contrib/xml/meson.build
+++ b/contrib/xml/meson.build
@@ -11,3 +11,11 @@ libxml = static_library('xml', libxml_sources,
   dependencies: libxml_deps,
   pic: true,
 )
+
+libxml_dep = declare_dependency(
+  link_with: libxml,
+  dependencies: dependency('libxml-2.0'),
+  include_directories: include_directories([
+    meson.current_source_dir(),
+  ]),
+)
diff --git a/libide/meson.build b/libide/meson.build
index e14ff61..92259f8 100644
--- a/libide/meson.build
+++ b/libide/meson.build
@@ -265,7 +265,6 @@ libide_public_sources = [
   'history/ide-back-forward-list.c',
   'ide-context.c',
   libide_enums[0],
-  libide_enums[1],
   'ide-object.c',
   'ide-service.c',
   'ide.c',
@@ -376,6 +375,7 @@ libide_public_sources = [
 libide_generated_headers = [
   libide_resources[1],
   libide_icons_resources[1],
+  libide_enums[1],
   libide_debug_h,
 ]
 
@@ -571,6 +571,13 @@ libide = shared_library('ide-' + libide_api_version, libide_sources,
 
 libide_dep = declare_dependency(
   sources: libide_generated_headers,
+  dependencies: [
+    dependency('gio-2.0 >= 2.49.0'),
+    dependency('gtk+-3.0 >= 3.21.5'),
+    dependency('gtksourceview-3.0 >= 3.21.2'),
+    libpnl_dep,
+    libegg_dep,
+  ],
   link_with: libide,
   include_directories: include_directories([
     meson.current_source_dir(),
diff --git a/meson.build b/meson.build
index 10d49f6..8816bec 100644
--- a/meson.build
+++ b/meson.build
@@ -55,7 +55,6 @@ subdir('data/icons')
 subdir('data/style-schemes')
 subdir('contrib/egg')
 subdir('contrib/gd')
-subdir('contrib/gstyle')
 subdir('contrib/libeditorconfig')
 subdir('contrib/nautilus')
 subdir('contrib/pnl')
@@ -63,6 +62,7 @@ subdir('contrib/rg')
 subdir('contrib/search')
 subdir('contrib/tmpl')
 subdir('contrib/xml')
+subdir('contrib/gstyle') # Depends on libsearch/libxml
 subdir('libide')
 subdir('doc/reference/libide')
 subdir('plugins')
diff --git a/meson_options.txt b/meson_options.txt
index 56c26fa..4ad6c38 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,6 +1,3 @@
-# Ideally we want many of these to be defined in the plugin dir:
-#   https://github.com/mesonbuild/meson/issues/707
-
 option('enable_tracing', type: 'boolean', value: false)
 option('enable_profiling', type: 'boolean', value: false)
 
@@ -10,4 +7,42 @@ option('with_introspection', type: 'boolean')
 option('with_docs', type: 'boolean', value: false)
 
 # Plugins
+# Ideally we want many of these to be defined in the plugin dir:
+#   https://github.com/mesonbuild/meson/issues/707
 option('with_autotools', type: 'boolean')
+option('with_autotools_templates', type: 'boolean')
+option('with_build_tools', type: 'boolean')
+option('with_c_pack', type: 'boolean')
+option('with_clang', type: 'boolean')
+option('with_color_picker', type: 'boolean')
+option('with_command_bar', type: 'boolean')
+option('with_comment_code', type: 'boolean')
+option('with_contributing', type: 'boolean')
+option('with_create_project', type: 'boolean')
+option('with_ctags', type: 'boolean')
+option('with_devhelp', type: 'boolean')
+option('with_file_search', type: 'boolean')
+option('with_flatpak', type: 'boolean')
+option('with_fpaste', type: 'boolean')
+option('with_gcc', type: 'boolean')
+option('with_gettext', type: 'boolean')
+option('with_git', type: 'boolean')
+option('with_gnome_code_assistance', type: 'boolean')
+option('with_hello_cpp', type: 'boolean')
+option('with_html_completion', type: 'boolean')
+option('with_html_preview', type: 'boolean')
+option('with_jedi', type: 'boolean')
+option('with_jhbuild', type: 'boolean')
+option('with_mingw', type: 'boolean')
+option('with_project_tree', type: 'boolean')
+option('with_python_gi_imports_completion', type: 'boolean')
+option('with_python_pack', type: 'boolean')
+option('with_quick_highlight', type: 'boolean')
+option('with_support', type: 'boolean')
+option('with_symbol_tree', type: 'boolean')
+option('with_sysmon', type: 'boolean')
+option('with_sysprof', type: 'boolean')
+option('with_terminal', type: 'boolean')
+option('with_todo', type: 'boolean')
+option('with_vala_pack', type: 'boolean')
+option('with_xml_pack', type: 'boolean')
diff --git a/plugins/autotools-templates/meson.build b/plugins/autotools-templates/meson.build
new file mode 100644
index 0000000..90c0285
--- /dev/null
+++ b/plugins/autotools-templates/meson.build
@@ -0,0 +1,6 @@
+if get_option('with_autotools_templates')
+
+install_data('autotools-templates.plugin', install_dir: plugindir)
+install_subdir('autotools_templates', install_dir: plugindir)
+
+endif
diff --git a/plugins/autotools/meson.build b/plugins/autotools/meson.build
index cb9484e..bae01d5 100644
--- a/plugins/autotools/meson.build
+++ b/plugins/autotools/meson.build
@@ -18,18 +18,9 @@ autotools_sources = [
   'ide-makecache-target.h',
 ]
 
-autotools_deps = [
-  dependency('gio-2.0'),
-  dependency('libpeas-1.0'),
-  dependency('gtksourceview-3.0'),
-  libegg_dep,
-  libpnl_dep,
-  libide_dep,
-]
-
 shared_library('autotools-plugin', autotools_sources,
-  dependencies: autotools_deps,
-  c_args: ['-DGNU_MAKE_NAME="make"'],
+  dependencies: plugin_deps,
+  c_args: ['-DGNU_MAKE_NAME="make"'], # FIXME: Detect make bin
   install: true,
   install_dir: plugindir,
 )
diff --git a/plugins/build-tools/meson.build b/plugins/build-tools/meson.build
new file mode 100644
index 0000000..b16d5de
--- /dev/null
+++ b/plugins/build-tools/meson.build
@@ -0,0 +1,43 @@
+if get_option('with_build_tools')
+
+build_tools_resources = gnome.compile_resources(
+  'gbp-build-resources',
+  'gbp-build-tools.gresource.xml',
+  c_name: 'gbp_build_tools',
+)
+
+build_tools_sources = [
+  'gbp-build-configuration-row.c',
+  'gbp-build-configuration-row.h',
+  'gbp-build-configuration-view.c',
+  'gbp-build-configuration-view.h',
+  'gbp-build-log-panel.c',
+  'gbp-build-log-panel.h',
+  'gbp-build-panel.c',
+  'gbp-build-panel.h',
+  'gbp-build-panel-row.c',
+  'gbp-build-panel-row.h',
+  'gbp-build-perspective.c',
+  'gbp-build-perspective.h',
+  'gbp-build-plugin.c',
+  'gbp-build-tool.c',
+  'gbp-build-tool.h',
+  'gbp-build-workbench-addin.c',
+  'gbp-build-workbench-addin.h',
+  'ide-environment-editor-row.c',
+  'ide-environment-editor-row.h',
+  'ide-environment-editor.c',
+  'ide-environment-editor.h',
+  build_tools_resources[0],
+]
+
+shared_library('build-tools-plugin', build_tools_sources,
+  dependencies: plugin_deps,
+  c_args: ['-DG_LOG_DOMAIN="build-tools"'],
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('build-tools.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/c-pack/meson.build b/plugins/c-pack/meson.build
new file mode 100644
index 0000000..057ce98
--- /dev/null
+++ b/plugins/c-pack/meson.build
@@ -0,0 +1,21 @@
+if get_option('with_c_pack')
+
+c_pack_sources = [
+  'c-pack-plugin.c',
+  'c-parse-helper.c',
+  'c-parse-helper.h',
+  'ide-c-indenter.c',
+  'ide-c-indenter.h',
+  'ide-c-format-provider.c',
+  'ide-c-format-provider.h',
+]
+
+shared_library('c-pack-plugin', c_pack_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('c-pack.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/clang/meson.build b/plugins/clang/meson.build
new file mode 100644
index 0000000..4af8124
--- /dev/null
+++ b/plugins/clang/meson.build
@@ -0,0 +1,44 @@
+if get_option('with_clang')
+
+clang_sources = [
+  'ide-clang-completion-item.c',
+  'ide-clang-completion-item.h',
+  'ide-clang-completion-item-private.h',
+  'ide-clang-completion-provider.c',
+  'ide-clang-completion-provider.h',
+  'ide-clang-diagnostic-provider.c',
+  'ide-clang-diagnostic-provider.h',
+  'ide-clang-highlighter.c',
+  'ide-clang-highlighter.h',
+  'ide-clang-preferences-addin.c',
+  'ide-clang-preferences-addin.h',
+  'ide-clang-private.h',
+  'ide-clang-service.c',
+  'ide-clang-service.h',
+  'ide-clang-symbol-node.c',
+  'ide-clang-symbol-node.h',
+  'ide-clang-symbol-resolver.c',
+  'ide-clang-symbol-resolver.h',
+  'ide-clang-symbol-tree.c',
+  'ide-clang-symbol-tree.h',
+  'ide-clang-translation-unit.c',
+  'ide-clang-translation-unit.h',
+  'clang-plugin.c',
+]
+
+cc = meson.get_compiler('c')
+libclang = cc.find_library('libclang')
+
+clang_deps = plugin_deps + [
+  libclang,
+]
+
+shared_library('clang-plugin', clang_sources,
+  dependencies: clang_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('clang.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/color-picker/meson.build b/plugins/color-picker/meson.build
new file mode 100644
index 0000000..e5bfb9b
--- /dev/null
+++ b/plugins/color-picker/meson.build
@@ -0,0 +1,42 @@
+if get_option('with_color_picker')
+
+color_picker_resources = gnome.compile_resources(
+  'gb-color-picker-resources',
+  'gb-color-picker.gresource.xml',
+  c_name: 'gb_color_picker',
+)
+
+color_picker_sources = [
+  'gb-color-picker-helper.c',
+  'gb-color-picker-helper.h',
+  'gb-color-picker-plugin.c',
+  'gb-color-picker-document-monitor.c',
+  'gb-color-picker-document-monitor.h',
+  'gb-color-picker-prefs.c',
+  'gb-color-picker-prefs.h',
+  'gb-color-picker-prefs-list.c',
+  'gb-color-picker-prefs-palette-list.h',
+  'gb-color-picker-prefs-palette-list.c',
+  'gb-color-picker-prefs-list.h',
+  'gb-color-picker-prefs-palette-row.c',
+  'gb-color-picker-prefs-palette-row.h',
+  'gb-color-picker-private.h',
+  'gb-color-picker-workbench-addin.c',
+  'gb-color-picker-workbench-addin.h',
+  'gb-color-picker-workbench-addin-private.h',
+  color_picker_resources[0],
+]
+
+color_picker_deps = plugin_deps + [
+  libgstyle_dep,
+]
+
+shared_library('color-picker-plugin', color_picker_sources,
+  dependencies: color_picker_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('color-picker.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/command-bar/meson.build b/plugins/command-bar/meson.build
new file mode 100644
index 0000000..ec72bf4
--- /dev/null
+++ b/plugins/command-bar/meson.build
@@ -0,0 +1,47 @@
+if get_option('with_command_bar')
+
+command_bar_resources = gnome.compile_resources(
+  'gb-command-bar-resources',
+  'gb-command-bar.gresource.xml',
+  c_name: 'gb_command_bar',
+)
+
+command_bar_sources = [
+  command_bar_resources[0],
+  command_bar_resources[1],
+  'gb-command-bar.c',
+  'gb-command-bar.h',
+  'gb-command-gaction-provider.c',
+  'gb-command-gaction-provider.h',
+  'gb-command-gaction.c',
+  'gb-command-gaction.h',
+  'gb-command-manager.c',
+  'gb-command-manager.h',
+  'gb-command-provider.c',
+  'gb-command-provider.h',
+  'gb-command-result.c',
+  'gb-command-result.h',
+  'gb-command-vim-provider.c',
+  'gb-command-vim-provider.h',
+  'gb-command-vim.c',
+  'gb-command-vim.h',
+  'gb-command.c',
+  'gb-command.h',
+  'gb-vim.c',
+  'gb-vim.h',
+]
+
+command_bar_deps = plugin_deps + [
+  libgd_dep,
+  libnautilus_dep,
+]
+
+shared_library('command-bar-plugin', command_bar_sources,
+  dependencies: command_bar_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('command-bar.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/comment-code/meson.build b/plugins/comment-code/meson.build
new file mode 100644
index 0000000..fcd683b
--- /dev/null
+++ b/plugins/comment-code/meson.build
@@ -0,0 +1,24 @@
+if get_option('with_comment_code')
+
+comment_code_resources = gnome.compile_resources(
+  'gbp-comment-code-resources',
+  'gbp-comment-code.gresource.xml',
+  c_name: 'gbp_comment_code',
+)
+
+comment_code_sources = [
+  'gbp-comment-code-plugin.c',
+  'gbp-comment-code-view-addin.c',
+  'gbp-comment-code-view-addin.h',
+  comment_code_resources[0],
+]
+
+shared_library('comment-code-plugin', comment_code_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('comment-code.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/contributing/meson.build b/plugins/contributing/meson.build
new file mode 100644
index 0000000..d31bd96
--- /dev/null
+++ b/plugins/contributing/meson.build
@@ -0,0 +1,6 @@
+if get_option('with_contributing')
+
+install_data('contributing.plugin', install_dir: plugindir)
+install_subdir('contributing_plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/create-project/meson.build b/plugins/create-project/meson.build
new file mode 100644
index 0000000..07132b7
--- /dev/null
+++ b/plugins/create-project/meson.build
@@ -0,0 +1,30 @@
+if get_option('with_create_project')
+
+create_project_resources = gnome.compile_resources(
+  'gbp-create-project-resources',
+  'gbp-create-project.gresource.xml',
+  c_name: 'gbp_create_project',
+)
+
+create_project_sources = [
+  'gbp-create-project-genesis-addin.c',
+  'gbp-create-project-genesis-addin.h',
+  'gbp-create-project-plugin.c',
+  'gbp-create-project-template-icon.c',
+  'gbp-create-project-template-icon.h',
+  'gbp-create-project-tool.c',
+  'gbp-create-project-tool.h',
+  'gbp-create-project-widget.c',
+  'gbp-create-project-widget.h',
+  create_project_resources[0],
+]
+
+shared_library('create-project-plugin', create_project_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('create-project.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/ctags/meson.build b/plugins/ctags/meson.build
new file mode 100644
index 0000000..91f8a2f
--- /dev/null
+++ b/plugins/ctags/meson.build
@@ -0,0 +1,32 @@
+if get_option('with_ctags')
+
+ctags_sources = [
+  'ide-ctags-builder.c',
+  'ide-ctags-builder.h',
+  'ide-ctags-completion-item.c',
+  'ide-ctags-completion-item.h',
+  'ide-ctags-completion-provider.c',
+  'ide-ctags-completion-provider.h',
+  'ide-ctags-completion-provider-private.h',
+  'ide-ctags-highlighter.c',
+  'ide-ctags-highlighter.h',
+  'ide-ctags-index.c',
+  'ide-ctags-index.h',
+  'ide-ctags-service.c',
+  'ide-ctags-service.h',
+  'ide-ctags-symbol-resolver.c',
+  'ide-ctags-symbol-resolver.h',
+  'ide-ctags-util.c',
+  'ide-ctags-util.h',
+  'ctags-plugin.c',
+]
+
+shared_library('ctags-plugin', ctags_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('ctags.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/devhelp/meson.build b/plugins/devhelp/meson.build
new file mode 100644
index 0000000..638e714
--- /dev/null
+++ b/plugins/devhelp/meson.build
@@ -0,0 +1,34 @@
+if get_option('with_devhelp')
+
+devhelp_resources = gnome.compile_resources(
+  'gbp-devhelp-resources',
+  'gbp-devhelp-resources.gresource.xml',
+  c_name: 'gbp_devhelp',
+)
+
+devhelp_sources = [
+  'gbp-devhelp-editor-view-addin.c',
+  'gbp-devhelp-editor-view-addin.h',
+  'gbp-devhelp-panel.c',
+  'gbp-devhelp-panel.h',
+  'gbp-devhelp-plugin.c',
+  'gbp-devhelp-view.c',
+  'gbp-devhelp-view.h',
+  'gbp-devhelp-workbench-addin.c',
+  'gbp-devhelp-workbench-addin.h',
+  devhelp_resources[0],
+]
+
+devhelp_deps = plugin_deps + [
+  dependency('libdevhelp-3.0 >= 3.20.0'),
+]
+
+shared_library('devhelp-plugin', devhelp_sources,
+  dependencies: devhelp_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('devhelp.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/file-search/meson.build b/plugins/file-search/meson.build
new file mode 100644
index 0000000..6c4aea5
--- /dev/null
+++ b/plugins/file-search/meson.build
@@ -0,0 +1,24 @@
+if get_option('with_file_search')
+
+file_search_sources = [
+  'gb-file-search-provider.c',
+  'gb-file-search-provider.h',
+  'gb-file-search-result.c',
+  'gb-file-search-result.h',
+  'gb-file-search-index.c',
+  'gb-file-search-index.h',
+]
+
+file_search_deps = plugin_deps + [
+  libsearch_dep,
+]
+
+shared_library('file-search-plugin', file_search_sources,
+  dependencies: file_search_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('file-search.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/flatpak/meson.build b/plugins/flatpak/meson.build
new file mode 100644
index 0000000..e965b91
--- /dev/null
+++ b/plugins/flatpak/meson.build
@@ -0,0 +1,23 @@
+if get_option('with_flatpak')
+
+flatpak_sources = [
+  'gbp-flatpak-runtime-provider.c',
+  'gbp-flatpak-runtime-provider.h',
+  'gbp-flatpak-runtime.c',
+  'gbp-flatpak-runtime.h',
+  'gbp-flatpak-plugin.c',
+]
+
+flatpak_deps = plugin_deps + [
+  dependency('flatpak >= 0.6.0'),
+]
+
+shared_library('flatpak-plugin', flatpak_sources,
+  dependencies: flatpak_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('flatpak.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/fpaste/meson.build b/plugins/fpaste/meson.build
new file mode 100644
index 0000000..221d790
--- /dev/null
+++ b/plugins/fpaste/meson.build
@@ -0,0 +1,6 @@
+if get_option('with_fpaste')
+
+install_data('fpaste.plugin', install_dir: plugindir)
+install_subdir('fpaste_plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/gcc/meson.build b/plugins/gcc/meson.build
new file mode 100644
index 0000000..da55783
--- /dev/null
+++ b/plugins/gcc/meson.build
@@ -0,0 +1,17 @@
+if get_option('with_gcc')
+
+gcc_sources = [
+  'gbp-gcc-build-result-addin.c',
+  'gbp-gcc-build-result-addin.h',
+  'gbp-gcc-plugin.c',
+]
+
+shared_library('gcc-plugin', gcc_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('gcc.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/gettext/meson.build b/plugins/gettext/meson.build
new file mode 100644
index 0000000..18924c2
--- /dev/null
+++ b/plugins/gettext/meson.build
@@ -0,0 +1,17 @@
+if get_option('with_gettext')
+
+gettext_sources = [
+  'ide-gettext-diagnostic-provider.c',
+  'ide-gettext-diagnostic-provider.h',
+  'gettext-plugin.c',
+]
+
+shared_library('gettext-plugin', gettext_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('gettext.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/git/meson.build b/plugins/git/meson.build
new file mode 100644
index 0000000..fe25363
--- /dev/null
+++ b/plugins/git/meson.build
@@ -0,0 +1,76 @@
+if get_option('with_git')
+
+libgit_dep = dependency('libgit2-glib-1.0 >= 0.24.0')
+cc = meson.get_compiler('c')
+
+libgit_thread_safe_check = '
+               #include <libgit2-glib/ggit.h>
+               int
+               main(int argc, const char *argv[])
+               {
+                       ggit_init ();
+                       return ((ggit_get_features() & GGIT_FEATURE_THREADS) != 0) ? 0 : 1;
+               }
+'
+res = cc.run(libgit_thread_safe_check,
+  dependencies: libgit_dep,
+)
+if res.returncode() != 0
+  error('libgit2 was not compiled with -DTHREADSAFE:BOOL=ON')
+endif
+
+libgit_ssh_check = '
+               #include <libgit2-glib/ggit.h>
+               int
+               main(int argc, const char *argv[])
+               {
+                       ggit_init ();
+                       return ((ggit_get_features() & GGIT_FEATURE_SSH) != 0) ? 0 : 1;
+               }
+'
+
+res = cc.run(libgit_ssh_check,
+  dependencies: libgit_dep,
+)
+if res.returncode() != 0
+  error('libgit2 was not compiled with SSH support')
+endif
+
+git_resources = gnome.compile_resources(
+  'ide-git-resources',
+  'ide-git-resources.gresource.xml',
+  c_name: 'ide_git',
+)
+
+git_sources = [
+  'ide-git-buffer-change-monitor.c',
+  'ide-git-buffer-change-monitor.h',
+  'ide-git-clone-widget.c',
+  'ide-git-clone-widget.h',
+  'ide-git-genesis-addin.c',
+  'ide-git-genesis-addin.h',
+  'ide-git-plugin.c',
+  'ide-git-remote-callbacks.c',
+  'ide-git-remote-callbacks.h',
+  'ide-git-vcs.c',
+  'ide-git-vcs.h',
+  'ide-git-vcs-config.c',
+  'ide-git-vcs-config.h',
+  'ide-git-vcs-initializer.c',
+  'ide-git-vcs-initializer.h',
+  git_resources[0],
+]
+
+git_deps = plugin_deps + [
+  libgit_dep,
+]
+
+shared_library('git-plugin', git_sources,
+  dependencies: git_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('git.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/gnome-code-assistance/meson.build b/plugins/gnome-code-assistance/meson.build
new file mode 100644
index 0000000..bc051a6
--- /dev/null
+++ b/plugins/gnome-code-assistance/meson.build
@@ -0,0 +1,30 @@
+if get_option('with_gnome_code_assistance')
+
+gnome_code_assistance_sources = [
+  'gca-diagnostics.c',
+  'gca-diagnostics.h',
+  'gca-service.c',
+  'gca-service.h',
+  'gca-structs.c',
+  'gca-structs.h',
+  'gca-plugin.c',
+  'ide-gca-diagnostic-provider.c',
+  'ide-gca-diagnostic-provider.h',
+  'ide-gca-preferences-addin.c',
+  'ide-gca-preferences-addin.h',
+  'ide-gca-service.c',
+  'ide-gca-service.h',
+]
+
+shared_library('gnome-code-assistance-plugin', gnome_code_assistance_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('gnome-code-assistance.plugin', install_dir: plugindir)
+
+install_data('org.gnome.builder.gnome-code-assistance.gschema.xml',
+  install_dir: schema_dir)
+
+endif
diff --git a/plugins/hello-cpp/meson.build b/plugins/hello-cpp/meson.build
new file mode 100644
index 0000000..f74fd21
--- /dev/null
+++ b/plugins/hello-cpp/meson.build
@@ -0,0 +1,19 @@
+if get_option('with_hello_cpp')
+
+add_languages('cpp')
+
+hello_cpp_sources = [
+       'hellocppapplicationaddin.cc',
+       'hellocppapplicationaddin.h',
+       'hellocppplugin.cc',
+]
+
+shared_library('hello-cpp-plugin', hello_cpp_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('hello-cpp.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/html-completion/meson.build b/plugins/html-completion/meson.build
new file mode 100644
index 0000000..8f05e23
--- /dev/null
+++ b/plugins/html-completion/meson.build
@@ -0,0 +1,20 @@
+if get_option('with_html_completion')
+
+html_completion_sources = [
+       'ide-html-completion-provider.c',
+       'ide-html-completion-provider.h',
+]
+
+html_completion_deps = plugin_deps + [
+  libsearch_dep,
+]
+
+shared_library('html-completion-plugin', html_completion_sources,
+  dependencies: html_completion_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('html-completion.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/html-preview/meson.build b/plugins/html-preview/meson.build
new file mode 100644
index 0000000..05ebf4d
--- /dev/null
+++ b/plugins/html-preview/meson.build
@@ -0,0 +1,6 @@
+if get_option('with_html_preview')
+
+install_data('html-preview.plugin', install_dir: plugindir)
+install_subdir('html_preview_plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/jedi/meson.build b/plugins/jedi/meson.build
new file mode 100644
index 0000000..6729699
--- /dev/null
+++ b/plugins/jedi/meson.build
@@ -0,0 +1,5 @@
+if get_option('with_jedi')
+
+install_data(['jedi.plugin', 'jedi_plugin.py'], install_dir: plugindir)
+
+endif
diff --git a/plugins/jhbuild/meson.build b/plugins/jhbuild/meson.build
new file mode 100644
index 0000000..400e3e0
--- /dev/null
+++ b/plugins/jhbuild/meson.build
@@ -0,0 +1,5 @@
+if get_option('with_jhbuild')
+
+install_data(['jhbuild.plugin', 'jhbuild_plugin.py'], install_dir: plugindir)
+
+endif
diff --git a/plugins/meson.build b/plugins/meson.build
index 3778488..79adb4b 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -1,39 +1,43 @@
 plugindir = path_join(get_option('libdir'), 'gnome-builder/plugins')
+plugin_deps = [
+  dependency('libpeas-1.0'),
+  libide_dep,
+]
 
 subdir('autotools')
-#subdir('autotools-templates')
-#subdir('build-tools')
-#subdir('c-pack')
-#subdir('clang')
-#subdir('color-picker')
-#subdir('command-bar')
-#subdir('comment-code')
-#subdir('contributing')
-#subdir('create-project')
-#subdir('ctags')
-#subdir('devhelp')
-#subdir('file-search')
-#subdir('flatpak')
-#subdir('fpaste')
-#subdir('gcc')
-#subdir('gettext')
-#subdir('git')
-#subdir('gnome-code-assistance')
-#subdir('hello-cpp')
-#subdir('html-completion')
-#subdir('html-preview')
-#subdir('jedi')
-#subdir('jhbuild')
-#subdir('mingw')
-#subdir('project-tree')
-#subdir('python-gi-imports-completion')
-#subdir('python-pack')
-#subdir('quick-highlight')
-#subdir('support')
-#subdir('symbol-tree')
-#subdir('sysmon')
-#subdir('sysprof')
-#subdir('terminal')
-#subdir('todo')
-#subdir('vala-pack')
-#subdir('xml-pack')
+subdir('autotools-templates')
+subdir('build-tools')
+subdir('c-pack')
+subdir('clang')
+subdir('color-picker')
+subdir('command-bar')
+subdir('comment-code')
+subdir('contributing')
+subdir('create-project')
+subdir('ctags')
+subdir('devhelp')
+subdir('file-search')
+subdir('flatpak')
+subdir('fpaste')
+subdir('gcc')
+subdir('gettext')
+subdir('git')
+subdir('gnome-code-assistance')
+#subdir('hello-cpp') # needs libidemm (impossible)
+subdir('html-completion')
+subdir('html-preview')
+subdir('jedi')
+subdir('jhbuild')
+subdir('mingw')
+subdir('project-tree')
+subdir('python-gi-imports-completion')
+subdir('python-pack')
+subdir('quick-highlight')
+subdir('support')
+subdir('symbol-tree')
+subdir('sysmon')
+subdir('sysprof')
+subdir('terminal')
+subdir('todo')
+#subdir('vala-pack') # needs vapi files (trivial)
+subdir('xml-pack')
diff --git a/plugins/mingw/meson.build b/plugins/mingw/meson.build
new file mode 100644
index 0000000..3096650
--- /dev/null
+++ b/plugins/mingw/meson.build
@@ -0,0 +1,19 @@
+if get_option('with_mingw')
+
+mingw_sources = [
+  'mingw-plugin.c',
+  'ide-mingw-device.c',
+  'ide-mingw-device.h',
+  'ide-mingw-device-provider.c',
+  'ide-mingw-device-provider.h',
+]
+
+shared_library('mingw-plugin', mingw_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('mingw.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/project-tree/meson.build b/plugins/project-tree/meson.build
new file mode 100644
index 0000000..fe44975
--- /dev/null
+++ b/plugins/project-tree/meson.build
@@ -0,0 +1,51 @@
+if get_option('with_project_tree')
+
+project_tree_resources = gnome.compile_resources(
+  'gb-project-tree-resources',
+  'gb-project-tree.gresource.xml',
+  c_name: 'gb_project_tree',
+)
+
+project_tree_sources = [
+  project_tree_resources[0],
+  project_tree_resources[1],
+  'gb-new-file-popover.c',
+  'gb-new-file-popover.h',
+  'gb-project-file.c',
+  'gb-project-file.h',
+  'gb-project-tree-actions.c',
+  'gb-project-tree-actions.h',
+  'gb-project-tree-builder.c',
+  'gb-project-tree-builder.h',
+  'gb-project-tree.c',
+  'gb-project-tree.h',
+  'gb-project-tree-editor-addin.c',
+  'gb-project-tree-editor-addin.h',
+  'gb-project-tree-private.h',
+  'gb-rename-file-popover.c',
+  'gb-rename-file-popover.h',
+  'gb-project-tree-addin.c',
+  'gb-project-tree-addin.h',
+  'project-tree-plugin.c',
+]
+
+project_tree_deps = plugin_deps
+project_tree_cflags = []
+
+if get_option('with_terminal')
+
+project_tree_deps += dependency('vte-2.91 >= 0.40.2')
+project_tree_cflags += '-DHAVE_VTE'
+
+endif
+
+shared_library('project-tree-plugin', project_tree_sources,
+  dependencies: project_tree_deps,
+  c_args: project_tree_cflags,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('project-tree.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/python-gi-imports-completion/meson.build 
b/plugins/python-gi-imports-completion/meson.build
new file mode 100644
index 0000000..25b7e08
--- /dev/null
+++ b/plugins/python-gi-imports-completion/meson.build
@@ -0,0 +1,8 @@
+if get_option('with_python_gi_imports_completion')
+
+install_data([
+  'python-gi-imports-completion.plugin',
+  'python_gi_imports_completion.py'
+], install_dir: plugindir)
+
+endif
diff --git a/plugins/python-pack/meson.build b/plugins/python-pack/meson.build
new file mode 100644
index 0000000..35716cc
--- /dev/null
+++ b/plugins/python-pack/meson.build
@@ -0,0 +1,19 @@
+if get_option('with_python_pack')
+
+python_pack_sources = [
+  'ide-python-indenter.c',
+  'ide-python-indenter.h',
+  'ide-python-format-provider.c',
+  'ide-python-format-provider.h',
+  'python-pack-plugin.c',
+]
+
+shared_library('python-pack-plugin', python_pack_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('python-pack.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/quick-highlight/meson.build b/plugins/quick-highlight/meson.build
new file mode 100644
index 0000000..736291a
--- /dev/null
+++ b/plugins/quick-highlight/meson.build
@@ -0,0 +1,19 @@
+if get_option('with_quick_highlight')
+
+quick_highlight_sources = [
+  'gbp-quick-highlight-plugin.c',
+  'gbp-quick-highlight-view-addin.c',
+  'gbp-quick-highlight-view-addin.h',
+  'gbp-quick-highlight-preferences.c',
+  'gbp-quick-highlight-preferences.h',
+]
+
+shared_library('quick-highlight-plugin', quick_highlight_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('quick-highlight.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/support/meson.build b/plugins/support/meson.build
new file mode 100644
index 0000000..b587759
--- /dev/null
+++ b/plugins/support/meson.build
@@ -0,0 +1,26 @@
+if get_option('with_support')
+
+support_resources = gnome.compile_resources(
+  'ide-support-resources',
+  'ide-support-resources.gresource.xml',
+  c_name: 'ide_support',
+)
+
+support_sources = [
+  'ide-support-application-addin.c',
+  'ide-support-application-addin.h',
+  'ide-support.c',
+  'ide-support.h',
+  'ide-support-plugin.c',
+  support_resources[0],
+]
+
+shared_library('support-plugin', support_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('support.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/symbol-tree/meson.build b/plugins/symbol-tree/meson.build
new file mode 100644
index 0000000..1551a44
--- /dev/null
+++ b/plugins/symbol-tree/meson.build
@@ -0,0 +1,28 @@
+if get_option('with_symbol_tree')
+
+symbol_tree_resources = gnome.compile_resources(
+  'symbol-tree-resources',
+  'symbol-tree.gresource.xml',
+  c_name: 'symbol_tree',
+)
+
+symbol_tree_sources = [
+  symbol_tree_resources[0],
+  symbol_tree_resources[1],
+  'symbol-tree-builder.c',
+  'symbol-tree-builder.h',
+  'symbol-tree-panel.c',
+  'symbol-tree-panel.h',
+  'symbol-tree.c',
+  'symbol-tree.h',
+]
+
+shared_library('symbol-tree-plugin', symbol_tree_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('symbol-tree.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/sysmon/meson.build b/plugins/sysmon/meson.build
new file mode 100644
index 0000000..4e4ab4c
--- /dev/null
+++ b/plugins/sysmon/meson.build
@@ -0,0 +1,30 @@
+if get_option('with_sysmon')
+
+sysmon_resources = gnome.compile_resources(
+  'gb-sysmon-resources',
+  'gb-sysmon.gresource.xml',
+  c_name: 'gb_sysmon',
+)
+
+sysmon_sources = [
+  sysmon_resources[0],
+  sysmon_resources[1],
+  'gb-sysmon-panel.c',
+  'gb-sysmon-panel.h',
+  'gb-sysmon-addin.c',
+  'gb-sysmon-addin.h',
+]
+
+sysmon_deps = plugin_deps + [
+  librg_dep,
+]
+
+shared_library('sysmon-plugin', sysmon_sources,
+  dependencies: sysmon_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('sysmon.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/sysprof/meson.build b/plugins/sysprof/meson.build
new file mode 100644
index 0000000..7601150
--- /dev/null
+++ b/plugins/sysprof/meson.build
@@ -0,0 +1,31 @@
+if get_option('with_sysprof')
+
+sysprof_resources = gnome.compile_resources(
+  'gbp-sysprof-resources',
+  'sysprof.gresource.xml',
+  c_name: 'gbp_sysprof',
+)
+
+sysprof_sources = [
+  sysprof_resources[0],
+  sysprof_resources[1],
+  'gbp-sysprof-plugin.c',
+  'gbp-sysprof-perspective.c',
+  'gbp-sysprof-perspective.h',
+  'gbp-sysprof-workbench-addin.c',
+  'gbp-sysprof-workbench-addin.h',
+]
+
+sysprof_deps = plugin_deps + [
+  dependency('sysprof-ui >= 3.21.90'),
+]
+
+shared_library('sysprof-plugin', sysprof_sources,
+  dependencies: sysprof_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('sysprof.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/terminal/meson.build b/plugins/terminal/meson.build
new file mode 100644
index 0000000..b920eba
--- /dev/null
+++ b/plugins/terminal/meson.build
@@ -0,0 +1,39 @@
+if get_option('with_terminal')
+
+terminal_resources = gnome.compile_resources(
+  'gb-terminal-resources',
+  'gb-terminal.gresource.xml',
+  c_name: 'gb_terminal',
+)
+
+terminal_sources = [
+  terminal_resources[0],
+  terminal_resources[1],
+  'gb-terminal.c',
+  'gb-terminal.h',
+  'gb-terminal-application-addin.c',
+  'gb-terminal-application-addin.h',
+  'gb-terminal-plugin.c',
+  'gb-terminal-private.h',
+  'gb-terminal-view.c',
+  'gb-terminal-view.h',
+  'gb-terminal-view-private.h',
+  'gb-terminal-view-actions.c',
+  'gb-terminal-view-actions.h',
+  'gb-terminal-workbench-addin.c',
+  'gb-terminal-workbench-addin.h',
+]
+
+terminal_deps = plugin_deps + [
+  dependency('vte-2.91 >= 0.40.2'),
+]
+
+shared_library('terminal-plugin', terminal_sources,
+  dependencies: terminal_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('terminal.plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/todo/meson.build b/plugins/todo/meson.build
new file mode 100644
index 0000000..5e3ae89
--- /dev/null
+++ b/plugins/todo/meson.build
@@ -0,0 +1,6 @@
+if get_option('with_todo')
+
+install_data('todo.plugin', install_dir: plugindir)
+install_subdir('todo_plugin', install_dir: plugindir)
+
+endif
diff --git a/plugins/xml-pack/meson.build b/plugins/xml-pack/meson.build
new file mode 100644
index 0000000..38c2054
--- /dev/null
+++ b/plugins/xml-pack/meson.build
@@ -0,0 +1,21 @@
+if get_option('with_xml_pack')
+
+xml_pack_sources = [
+  'ide-xml-highlighter.c',
+  'ide-xml-highlighter.h',
+  'ide-xml-indenter.c',
+  'ide-xml-indenter.h',
+  'ide-xml.c',
+  'ide-xml.h',
+  'xml-pack-plugin.c',
+]
+
+shared_library('xml-pack-plugin', xml_pack_sources,
+  dependencies: plugin_deps,
+  install: true,
+  install_dir: plugindir,
+)
+
+install_data('xml-pack.plugin', install_dir: plugindir)
+
+endif



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