c5d929ac5fae6cf82b33e57e35c9bf2cc517b570
[roobuilder] / meson.build
1 project('roobuilder', 'vala', 'c',
2   version: '1.0',
3   license: 'LGPL',
4   default_options: [
5     'default_library=static',
6     'c_std=gnu11'       # for C subprojects
7   ]
8 )
9
10 valac = meson.get_compiler('vala')
11
12 extra_vala_sources = []
13
14 add_project_arguments(['--vapidir',  meson.current_source_dir() / 'src/vapi'], language: 'vala')
15
16
17 deps = [
18    dependency('gtk4'),
19    dependency('gee-0.8'),
20    dependency('gio-2.0'),
21    dependency('webkitgtk-6.0'),
22    dependency('glib-2.0'),
23    dependency('gobject-2.0'),
24    dependency('json-glib-1.0'),
25    dependency('gobject-introspection-1.0'),
26    dependency('libvala-0.56'),
27    dependency('libxml-2.0'),
28    valac.find_library('posix'),
29    dependency('gtksourceview-5'),
30    dependency('libgda-5.0'),
31    dependency('jsonrpc-glib-1.0'),
32    dependency('gio-unix-2.0'),
33
34 ]
35  
36 # let Vala add the appropriate defines for GLIB_X_X
37 add_project_arguments(['--target-glib=auto'], language: 'vala')
38
39  
40
41 conf = configuration_data()
42 conf.set('PROJECT_NAME', meson.project_name())
43
44 add_project_arguments(['--vapidir',  meson.current_source_dir() / 'src/vapi'], language: 'vala')
45
46
47
48 install_data(
49         'pixmaps/16x16/apps/roobuilder.png',
50         install_dir:  get_option('datadir') + '/icons/hicolor/16x16/apps/'
51 )
52
53 install_data(
54         'pixmaps/22x22/apps/roobuilder.png',
55         install_dir:  get_option('datadir') + '/icons/hicolor/22x22/apps/'
56 )
57
58 install_data(
59         'pixmaps/24x24/apps/roobuilder.png',
60         install_dir:  get_option('datadir') + '/icons/hicolor/24x24/apps/'
61 )
62
63 install_data(
64         'pixmaps/32x32/apps/roobuilder.png',
65         install_dir:  get_option('datadir') + '/icons/hicolor/32x32/apps/'
66 )
67
68 install_data(
69         'pixmaps/48x48/apps/roobuilder.png',
70         install_dir:  get_option('datadir') + '/icons/hicolor/48x48/apps/'
71 )
72
73 gnome = import('gnome')
74 gnome.post_install(gtk_update_icon_cache : true)
75
76
77
78 install_data(
79         'roobuilder.desktop',
80         install_dir : get_option('datadir') + '/applications/'
81 )
82
83
84 roobuilder_src = files([
85    'src/Builder4/About.vala',
86    'src/Builder4/DialogConfirm.vala',
87    'src/Builder4/DialogFiles.vala',
88    'src/Builder4/DialogSaveModule.vala',
89    'src/Builder4/DialogSaveTemplate.vala',
90    'src/Builder4/DialogTemplateSelect.vala',
91    'src/Builder4/Editor.vala',
92    'src/Builder4/EditProject.vala',
93    'src/Builder4/FakeServer.vala',
94    'src/Builder4/GtkView.vala',
95    'src/Builder4/MainWindow.vala',
96    'src/Builder4/PopoverAddObject.vala',
97    'src/Builder4/PopoverProperty.vala',
98    'src/Builder4/StandardErrorDialog.vala',
99    'src/Builder4/RooProjectSettings.vala',
100    'src/Builder4/ValaCompileErrors.vala',
101    'src/Builder4/ValaCompileResults.vala',
102    'src/Builder4/ValaProjectSettingsPopover.vala',
103    'src/Builder4/WindowLeftProps.vala',
104    'src/Builder4/WindowRooView.vala',
105    'src/Builder4/WindowState.vala',
106    'src/Palete/GirObject.vala',
107    'src/Palete/Gir.vala',
108    'src/JsRender/Dir.vala',
109    'src/JsRender/Gtk.vala',
110    'src/JsRender/JsonGen.vala',
111    'src/JsRender/JsRender.vala',
112    'src/JsRender/Lang.vala',
113    'src/JsRender/NodeProp.vala',
114    'src/JsRender/NodeToGlade.vala',
115    'src/JsRender/Roo.vala',
116    'src/JsRender/Node.vala',
117    'src/JsRender/PlainFile.vala',
118    'src/JsRender/NodeToVala.vala',
119    'src/JsRender/NodeToJs.vala',
120    'src/Palete/CompileError.vala',
121    'src/Palete/CompletionProvider.vala',
122    'src/Palete/Gtk.vala',
123    'src/Palete/Palete.vala',
124    'src/Palete/Roo.vala',
125    'src/Palete/VapiParser.vala',
126    'src/Builder4/WindowLeftTree.vala',
127    'src/Builder4/PopoverAddProp.vala',
128    'src/Builder4/PopoverFileDetails.vala',
129    'src/Project/GtkValaSettings.vala',
130    'src/Project/Project.vala',
131    'src/Project/Gtk.vala',
132    'src/Project/Roo.vala',
133    'src/Project/VapiSelection.vala',
134    'src/Main.vala',
135    'src/Resources.vala',
136    'src/Spawn.vala',
137    'src/Application.vala',
138    'src/Palete/Javascript.vala',
139    'src/Project/Meson.vala',
140    'src/Palete/RooDatabase.vala',
141    'src/Palete/LanguageClient.vala',
142    'src/Palete/LanguageClientVala.vala',
143    'src/Palete/LanguageClientJavascript.vala',
144    'src/Lsp.vala',
145    'src/Palete/LanguageClientDummy.vala',
146    'src/Palete/ValaCompileRequest.vala',
147    'src/JsRender/NodeWriter.vala',
148    'src/JsRender/NodeToValaExtended.vala',
149    'src/JsRender/NodeToValaWrapped.vala',
150 ])
151
152 roobuilder = executable('roobuilder',
153    dependencies: deps,
154    sources: [ roobuilder_src ],
155    install: true
156 )
157
158