summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe CorrĂȘa da Silva Sanches <juca@members.fsf.org>2018-03-16 04:44:35 +0000
committerFelipe CorrĂȘa da Silva Sanches <juca@members.fsf.org>2018-03-17 20:54:37 +0000
commitc050cc68dbf3b38c22a58513707628e65686fef1 (patch)
tree4efb446dbe1017c19c9613c054152c646ae4a2f5
parent[meson-build] 2geom (diff)
downloadinkscape-c050cc68dbf3b38c22a58513707628e65686fef1.tar.gz
inkscape-c050cc68dbf3b38c22a58513707628e65686fef1.zip
[meson-build] wip: sp-object, sp-marshal and lib_helper
-rw-r--r--meson.build45
-rw-r--r--src/helper/meson.build58
-rw-r--r--src/meson.build2
-rw-r--r--src/object/meson.build198
4 files changed, 288 insertions, 15 deletions
diff --git a/meson.build b/meson.build
index 86d77529f..5d8c0854a 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('inkscape', 'cpp',
+project('inkscape', 'cpp', 'c',
version: '0.92+devel',
default_options: [
'buildtype=debugoptimized',
@@ -8,32 +8,44 @@ project('inkscape', 'cpp',
meson_version : '>= 0.43.0',
license: 'GPLv3+')
+gnome = import('gnome')
+
sigcpp_req = '>= 2.6.2' #TODO: review required version: 2.8.0 ?
gdl_req = '>= 3.6.0'
pango_req = '>= 1.41.0'
pangoft2_req = '>= 1.37.2'
cairo_req = '>= 1.14.0'
+cairomm_req = '>= 1.12.0'
glib_req = '>= 2.36.0'
glibmm_req = '>= 2.46.3' #TODO review: 2.54.0 ?
+gtk_req = '>= 3.18.9' #TODO review: 3.21.5 ?
gtkmm_req = '>= 3.16.0'
+gdkmm_req = '>= 3.8'
xml2_req = '>= 2.7.4'
harfbuzz_req = '>= 0.9'
bohemgc_req = '>= 7.4.2'
+png_req = '>= 1.2.54' #TODO: 1.6.2 ?
# Dependencies
-sigcpp_dep = dependency('sigc++-2.0', version: sigcpp_req, required : true)
-gdl_dep = dependency('gdl-3.0', version: gdl_req, required : true)
-cairo_dep = dependency('cairo', version: cairo_req, required : true)
-xml2_dep = dependency('libxml-2.0', version: xml2_req, required : true)
-glib_dep = dependency('glib-2.0', version: glib_req, required : true)
-glibmm_dep = dependency('glibmm-2.4', version: glibmm_req, required : true)
-gtkmm_dep = dependency('gtkmm-3.0', version: gtkmm_req, required : true)
-pango_dep = dependency('pango', version: pango_req, required : true)
-pangoft2_dep = dependency('pangoft2', version: pangoft2_req, required : true)
-pangocairo_dep = dependency('pangocairo', version: cairo_req, required : true)
-harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req, required: false)
-boehmgc_dep = dependency('bdw-gc', version: bohemgc_req, required: true)
-gsl_dep = dependency('gsl', required: true)
+sigcpp_dep = dependency('sigc++-2.0', version: sigcpp_req, required : true)
+gdl_dep = dependency('gdl-3.0', version: gdl_req, required : true)
+cairo_dep = dependency('cairo', version: cairo_req, required : true)
+cairomm_dep = dependency('cairomm-1.0', version: cairomm_req, required : true)
+xml2_dep = dependency('libxml-2.0', version: xml2_req, required : true)
+glib_dep = dependency('glib-2.0', version: glib_req, required : true)
+gobject_dep = dependency('gobject-2.0', required : true)
+glibmm_dep = dependency('glibmm-2.4', version: glibmm_req, required : true)
+gtk_dep = dependency('gtk+-3.0', version: gtk_req, required : true)
+gtkmm_dep = dependency('gtkmm-3.0', version: gtkmm_req, required : true)
+gdkmm_dep = dependency('gdkmm-3.0', version: gdkmm_req, required : true)
+pango_dep = dependency('pango', version: pango_req, required : true)
+pangoft2_dep = dependency('pangoft2', version: pangoft2_req, required : true)
+pangocairo_dep = dependency('pangocairo', version: cairo_req, required : true)
+harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req, required : false)
+boehmgc_dep = dependency('bdw-gc', version: bohemgc_req, required : true)
+gsl_dep = dependency('gsl', required : true)
+png_dep = dependency('libpng', version: png_req, required : true)
+
common_cflags = ''
common_ldflags = ''
@@ -41,6 +53,7 @@ add_project_arguments('-DHAVE_CONFIG_H', language: 'cpp')
confinc = include_directories('.')
srcinc = include_directories('src')
+helperinc = include_directories('src/helper')
subdir('src')
@@ -78,7 +91,9 @@ inkscape_deps = [
gdl_dep,
libnrtype_dep,
libinkgc_dep,
- lib2geom_dep
+ lib2geom_dep,
+ libspobject_dep,
+ libhelper_dep
]
executable('inkscape',
diff --git a/src/helper/meson.build b/src/helper/meson.build
new file mode 100644
index 000000000..ed0ed370f
--- /dev/null
+++ b/src/helper/meson.build
@@ -0,0 +1,58 @@
+helper_sources = files([
+ 'action.cpp',
+ 'action-context.cpp',
+ 'geom.cpp',
+ 'geom-nodetype.cpp',
+ 'geom-pathstroke.cpp',
+ 'geom-pathvectorsatellites.cpp',
+ 'geom-satellite.cpp',
+ 'gettext.cpp',
+ 'pixbuf-ops.cpp',
+ 'png-write.cpp',
+ 'stock-items.cpp',
+#units-test.cpp',
+ 'window.cpp'
+])
+
+helper_headers = files([
+ 'action.h',
+ 'action-context.h',
+ 'geom-curves.h',
+ 'geom-nodetype.h',
+ 'geom-pathstroke.h',
+ 'geom-pathvectorsatellites.h',
+ 'geom-satellite.h',
+ 'geom.h',
+ 'gettext.h',
+ 'mathfns.h',
+ 'pixbuf-ops.h',
+ 'png-write.h',
+ 'stock-items.h',
+ 'window.h'
+])
+
+marshallers = gnome.genmarshal('sp-marshal',
+sources : 'sp-marshal.list',
+extra_args : ['-UG_ENABLE_DEBUG', '--prototypes'])
+
+marshallers_c = marshallers[0]
+marshallers_h = marshallers[1]
+
+helper_deps = [
+ glibmm_dep,
+ cairomm_dep,
+ gtkmm_dep,
+ xml2_dep,
+ png_dep,
+ gobject_dep
+]
+
+lib_helper = static_library('helper',
+ sources: [helper_sources,
+ helper_headers,
+ marshallers_c,
+ marshallers_h],
+ dependencies: helper_deps,
+ include_directories: [confinc, srcinc])
+
+libhelper_dep = declare_dependency(link_with : lib_helper)
diff --git a/src/meson.build b/src/meson.build
index e1f0f978b..74b0b63f9 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,4 +1,6 @@
subdir('2geom')
+subdir('helper')
subdir('inkgc')
subdir('libnrtype')
+subdir('object')
subdir('ui')
diff --git a/src/object/meson.build b/src/object/meson.build
new file mode 100644
index 000000000..ea472d2fc
--- /dev/null
+++ b/src/object/meson.build
@@ -0,0 +1,198 @@
+spobject_sources = files([
+ 'box3d-side.cpp',
+ 'box3d.cpp',
+ 'color-profile.cpp',
+ 'object-set.cpp',
+ 'persp3d-reference.cpp',
+ 'persp3d.cpp',
+ 'sp-anchor.cpp',
+ 'sp-clippath.cpp',
+ 'sp-conn-end-pair.cpp',
+ 'sp-conn-end.cpp',
+ 'sp-defs.cpp',
+ 'sp-desc.cpp',
+ 'sp-dimensions.cpp',
+ 'sp-ellipse.cpp',
+ 'sp-factory.cpp',
+ 'sp-filter-reference.cpp',
+ 'sp-filter.cpp',
+ 'sp-flowdiv.cpp',
+ 'sp-flowregion.cpp',
+ 'sp-flowtext.cpp',
+ 'sp-font-face.cpp',
+ 'sp-font.cpp',
+ 'sp-glyph-kerning.cpp',
+ 'sp-glyph.cpp',
+ 'sp-gradient-reference.cpp',
+ 'sp-gradient.cpp',
+ 'sp-guide.cpp',
+ 'sp-hatch-path.cpp',
+ 'sp-hatch.cpp',
+ 'sp-image.cpp',
+ 'sp-item-group.cpp',
+ 'sp-item-rm-unsatisfied-cns.cpp',
+ 'sp-item-transform.cpp',
+ 'sp-item-update-cns.cpp',
+ 'sp-item.cpp',
+ 'sp-line.cpp',
+ 'sp-linear-gradient.cpp',
+ 'sp-lpe-item.cpp',
+ 'sp-marker.cpp',
+ 'sp-mask.cpp',
+ 'sp-mesh-array.cpp',
+ 'sp-mesh-gradient.cpp',
+ 'sp-mesh-patch.cpp',
+ 'sp-mesh-row.cpp',
+ 'sp-metadata.cpp',
+ 'sp-missing-glyph.cpp',
+ 'sp-namedview.cpp',
+ 'sp-object-group.cpp',
+ 'sp-object.cpp',
+ 'sp-offset.cpp',
+ 'sp-paint-server.cpp',
+ 'sp-path.cpp',
+ 'sp-pattern.cpp',
+ 'sp-polygon.cpp',
+ 'sp-polyline.cpp',
+ 'sp-radial-gradient.cpp',
+ 'sp-rect.cpp',
+ 'sp-root.cpp',
+ 'sp-script.cpp',
+ 'sp-shape.cpp',
+ 'sp-solid-color.cpp',
+ 'sp-spiral.cpp',
+ 'sp-star.cpp',
+ 'sp-stop.cpp',
+ 'sp-string.cpp',
+ 'sp-style-elem.cpp',
+ 'sp-switch.cpp',
+ 'sp-symbol.cpp',
+ 'sp-tag-use-reference.cpp',
+ 'sp-tag-use.cpp',
+ 'sp-tag.cpp',
+ 'sp-text.cpp',
+ 'sp-title.cpp',
+ 'sp-tref-reference.cpp',
+ 'sp-tref.cpp',
+ 'sp-tspan.cpp',
+ 'sp-use-reference.cpp',
+ 'sp-use.cpp',
+ 'uri-references.cpp',
+ 'uri.cpp',
+ 'viewbox.cpp'
+])
+
+spobject_headers = files([
+ 'box3d-side.h',
+ 'box3d.h',
+ 'color-profile.h',
+ 'object-set.h',
+ 'persp3d-reference.h',
+ 'persp3d.h',
+ 'sp-anchor.h',
+ 'sp-clippath.h',
+ 'sp-conn-end-pair.h',
+ 'sp-conn-end.h',
+ 'sp-defs.h',
+ 'sp-desc.h',
+ 'sp-dimensions.h',
+ 'sp-ellipse.h',
+ 'sp-factory.h',
+ 'sp-filter-reference.h',
+ 'sp-filter-units.h',
+ 'sp-filter.h',
+ 'sp-flowdiv.h',
+ 'sp-flowregion.h',
+ 'sp-flowtext.h',
+ 'sp-font-face.h',
+ 'sp-font.h',
+ 'sp-glyph-kerning.h',
+ 'sp-glyph.h',
+ 'sp-gradient-reference.h',
+ 'sp-gradient-spread.h',
+ 'sp-gradient-units.h',
+ 'sp-gradient-vector.h',
+ 'sp-gradient.h',
+ 'sp-guide.h',
+ 'sp-hatch-path.h',
+ 'sp-hatch.h',
+ 'sp-image.h',
+ 'sp-item-group.h',
+ 'sp-item-rm-unsatisfied-cns.h',
+ 'sp-item-transform.h',
+ 'sp-item-update-cns.h',
+ 'sp-item.h',
+ 'sp-line.h',
+ 'sp-linear-gradient.h',
+ 'sp-lpe-item.h',
+ 'sp-marker-loc.h',
+ 'sp-marker.h',
+ 'sp-mask.h',
+ 'sp-mesh-array.h',
+ 'sp-mesh-gradient.h',
+ 'sp-mesh-patch.h',
+ 'sp-mesh-row.h',
+ 'sp-metadata.h',
+ 'sp-missing-glyph.h',
+ 'sp-namedview.h',
+ 'sp-object-group.h',
+ 'sp-object.h',
+ 'sp-offset.h',
+ 'sp-paint-server-reference.h',
+ 'sp-paint-server.h',
+ 'sp-path.h',
+ 'sp-pattern.h',
+ 'sp-polygon.h',
+ 'sp-polyline.h',
+ 'sp-radial-gradient.h',
+ 'sp-rect.h',
+ 'sp-root.h',
+ 'sp-script.h',
+ 'sp-shape.h',
+ 'sp-solid-color.h',
+ 'sp-spiral.h',
+ 'sp-star.h',
+ 'sp-stop.h',
+ 'sp-string.h',
+ 'sp-style-elem.h',
+ 'sp-switch.h',
+ 'sp-symbol.h',
+ 'sp-tag.h',
+ 'sp-tag-use.h',
+ 'sp-tag-use-reference.h',
+ 'sp-text.h',
+ 'sp-textpath.h',
+ 'sp-title.h',
+ 'sp-tref-reference.h',
+ 'sp-tref.h',
+ 'sp-tspan.h',
+ 'sp-use-reference.h',
+ 'sp-use.h',
+ 'uri-references.h',
+ 'uri.h',
+ 'viewbox.h'
+])
+
+#subdir(filters)
+
+spobject_deps = [
+ cairomm_dep,
+ glibmm_dep,
+ gtk_dep,
+ gtkmm_dep,
+ xml2_dep,
+ gdkmm_dep,
+ libhelper_dep
+# gsl_dep
+# spobject_filters_dep
+]
+
+spobject = static_library('spobject',
+ sources: [spobject_sources,
+ spobject_headers],
+ dependencies: spobject_deps,
+ include_directories: [srcinc, confinc],
+ c_args: common_cflags,
+ link_args: common_ldflags)
+
+libspobject_dep = declare_dependency(link_with : spobject)