Fix #8048 - context provider start work - fix meson build flag - project settings...
[roobuilder] / src / Project / Gtk.vala
index 983bc3c..42afbc9 100644 (file)
@@ -39,7 +39,9 @@ namespace Project
            public Gee.HashMap<string,Gee.ArrayList<string>> child_list_cache;   // what child can on on what node
                public Gee.HashMap<string,Gee.ArrayList<string>> child_list_cache_props; // what child can go on what node (with properties included)
                
-            public string compile_flags = ""; // generic to all.       
+           public string compile_flags = ""; // generic to all.        
+           public bool generate_meson = false; 
+            
                public Gee.ArrayList<string> packages; // list of vapi's that are used by this project. 
                 
                //pblic Gee.ArrayList<string> hidden; // list of dirs to be hidden from display...
@@ -103,6 +105,9 @@ namespace Project
                        }
                        if (obj.has_member("licence")) {
                                this.licence = obj.get_string_member("licence");
+                       }
+                       if (obj.has_member("generate_meson")) {
+                               this.generate_meson = obj.get_boolean_member("generate_meson");
                        }
                         if (!obj.has_member("compilegroups") || obj.get_member("compilegroups").get_node_type () != Json.NodeType.ARRAY) {
                                // make _default_ ?
@@ -137,7 +142,7 @@ namespace Project
                        obj.set_string_member("compile_flags", this.compile_flags);
                        obj.set_string_member("version", this.version);
                        obj.set_string_member("licence", this.licence);
-                       
+                       obj.set_boolean_member("generate_meson",this.generate_meson);
                        var par = new Json.Array();
                        foreach(var p in this.packages) {
                                par.add_string_element(p);
@@ -157,7 +162,9 @@ namespace Project
                
                public override void onSave()
                {
-                       this.meson.save();
+                       if (this.generate_meson) {
+                               this.meson.save();
+                       }
                        var vl = this.language_servers.get("vala");
                        if (vl != null) {
                                vl.initialize_server(); // hopefully better than exit?
@@ -252,6 +259,8 @@ namespace Project
                 // ------------------  new project stufff
                public override void initialize()
                {
+                       this.generate_meson = true; // default to true on new projects.
+                       
                        string[] dirs = {
                                "src",
                                "src/ui"