2 write meson build so that the language server works..
7 public class Meson : Object {
10 public Meson(Gtk project)
12 this.project = project;
18 var project_name = this.project.name;
19 var project_version = "1.0"; //this.project.version;
20 var project_licence = "LGPL"; // this.project.licence
23 foreach(var p in this.project.packages) {
25 deps += " valac.find_library('" + p + "'),\n";
27 deps += " dependency('" + p + "'),\n";
31 dependency('glib-2.0'),
32 dependency('gobject-2.0'), << for others.. ut will this wrok using find_lib for all?
33 valac.find_library('posix'), << for posix
36 // ?? why use subdir ?? seems pointless?
41 foreach(var p in this.project.vapidirs()) {
42 addvapidir += "add_project_arguments(['--vapidir', meson.current_source_dir() / '" + p + "'], language: 'vala')\n";
44 //vapi_dir = meson.current_source_dir() / 'vapi'
45 //add_project_arguments(['--vapidir', vapi_dir], language: 'vala')
48 foreach(var cg in this.project.compilegroups.values) {
49 targets += this.addTarget(cg);
53 @"project('$project_name', 'vala', 'c',
54 version: '$project_version',
55 license: '$project_licence',
57 'default_library=static',
58 'c_std=gnu11' # for C subprojects
62 valac = meson.get_compiler('vala')
64 extra_vala_sources = []
72 # let Vala add the appropriate defines for GLIB_X_X
73 add_project_arguments(['--target-glib=auto'], language: 'vala')
77 conf = configuration_data()
78 conf.set('PROJECT_NAME', meson.project_name())
87 // removed.. add_project_arguments(['--enable-gobject-tracing', '--fatal-warnings'], language: 'vala')
90 FileUtils.set_contents(this.project.path + "/meson.build", data, data.length);
91 } catch (GLib.Error e) {
92 GLib.error("failed to save file %s", e.message);
97 string addTarget(GtkValaSettings cg)
100 var str = cg.name + "_src = files([\n";
101 foreach(var s in cg.sources) {
102 var f= this.project.getByPath(this.project.path + "/" + s);
106 var add = f.relTargetName();
107 if (add.length > 0) {
108 str += " '" + add + "',\n";
113 str += cg.name +" = executable('" + cg.name + "',\n"+
114 " dependencies: deps,\n"+
115 " sources: [ " + cg.name + "_src ],\n"+