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