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