summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-09-02 23:49:05 +0800
committerruki <[email protected]>2021-09-02 23:49:05 +0800
commit53e79a864277f085803cd605b9807bd19a499aad (patch)
tree729062a485ef3fd7bbb61cd65a8c34fd48f95978
parent593406d1f642fd2c5b83264b0b2f60cf7fdbc8ca (diff)
add vala template
-rw-r--r--xmake/templates/vala/console/project/src/main.vala21
-rw-r--r--xmake/templates/vala/console/project/xmake.lua12
-rw-r--r--xmake/templates/vala/console/template.lua2
-rw-r--r--xmake/templates/vala/shared/project/src/main.vala6
-rw-r--r--xmake/templates/vala/shared/project/src/mymath.vala9
-rw-r--r--xmake/templates/vala/shared/project/xmake.lua18
-rw-r--r--xmake/templates/vala/shared/template.lua2
-rw-r--r--xmake/templates/vala/static/project/src/main.vala6
-rw-r--r--xmake/templates/vala/static/project/src/mymath.vala9
-rw-r--r--xmake/templates/vala/static/project/xmake.lua18
-rw-r--r--xmake/templates/vala/static/template.lua2
11 files changed, 105 insertions, 0 deletions
diff --git a/xmake/templates/vala/console/project/src/main.vala b/xmake/templates/vala/console/project/src/main.vala
new file mode 100644
index 000000000..8e8a32da0
--- /dev/null
+++ b/xmake/templates/vala/console/project/src/main.vala
@@ -0,0 +1,21 @@
+using Lua;
+
+static int my_func (LuaVM vm) {
+ stdout.printf ("Vala Code From Lua Code! (%f)\n", vm.to_number (1));
+ return 1;
+}
+
+static int main (string[] args) {
+
+ string code = """
+ print "Lua Code From Vala Code!"
+ my_func(33)
+ """;
+
+ var vm = new LuaVM ();
+ vm.open_libs ();
+ vm.register ("my_func", my_func);
+ vm.do_string (code);
+
+ return 0;
+}
diff --git a/xmake/templates/vala/console/project/xmake.lua b/xmake/templates/vala/console/project/xmake.lua
new file mode 100644
index 000000000..474572597
--- /dev/null
+++ b/xmake/templates/vala/console/project/xmake.lua
@@ -0,0 +1,12 @@
+add_rules("mode.debug", "mode.release")
+
+add_requires("lua", "glib")
+
+target("${TARGETNAME}")
+ set_kind("binary")
+ add_rules("vala")
+ add_files("src/*.vala")
+ add_packages("lua", "glib")
+ add_values("vala.packages", "lua")
+
+${FAQ}
diff --git a/xmake/templates/vala/console/template.lua b/xmake/templates/vala/console/template.lua
new file mode 100644
index 000000000..ed2e13b57
--- /dev/null
+++ b/xmake/templates/vala/console/template.lua
@@ -0,0 +1,2 @@
+template("console")
+ add_configfiles("xmake.lua")
diff --git a/xmake/templates/vala/shared/project/src/main.vala b/xmake/templates/vala/shared/project/src/main.vala
new file mode 100644
index 000000000..da9fd895e
--- /dev/null
+++ b/xmake/templates/vala/shared/project/src/main.vala
@@ -0,0 +1,6 @@
+using MyMath;
+
+public void main() {
+ stdout.printf("\n\t2 + 3 is %d", sum(2, 3));
+ stdout.printf("\n\t8 squared is %d\n", square(8));
+}
diff --git a/xmake/templates/vala/shared/project/src/mymath.vala b/xmake/templates/vala/shared/project/src/mymath.vala
new file mode 100644
index 000000000..4f4e761c5
--- /dev/null
+++ b/xmake/templates/vala/shared/project/src/mymath.vala
@@ -0,0 +1,9 @@
+namespace MyMath {
+ public int sum(int a, int b) {
+ return(a + b);
+ }
+
+ public int square(int a) {
+ return(a * a);
+ }
+}
diff --git a/xmake/templates/vala/shared/project/xmake.lua b/xmake/templates/vala/shared/project/xmake.lua
new file mode 100644
index 000000000..e9148106c
--- /dev/null
+++ b/xmake/templates/vala/shared/project/xmake.lua
@@ -0,0 +1,18 @@
+add_rules("mode.release", "mode.debug")
+
+add_requires("glib")
+
+target("mymath")
+ set_kind("shared")
+ add_rules("vala")
+ add_files("src/mymath.vala")
+ add_values("vala.header", "mymath.h")
+ add_values("vala.vapi", "mymath-1.0.vapi")
+ add_packages("glib")
+
+target("${TARGETNAME}")
+ set_kind("binary")
+ add_deps("mymath")
+ add_rules("vala")
+ add_files("src/main.vala")
+ add_packages("glib")
diff --git a/xmake/templates/vala/shared/template.lua b/xmake/templates/vala/shared/template.lua
new file mode 100644
index 000000000..d7ec5bae4
--- /dev/null
+++ b/xmake/templates/vala/shared/template.lua
@@ -0,0 +1,2 @@
+template("shared")
+ add_configfiles("xmake.lua")
diff --git a/xmake/templates/vala/static/project/src/main.vala b/xmake/templates/vala/static/project/src/main.vala
new file mode 100644
index 000000000..da9fd895e
--- /dev/null
+++ b/xmake/templates/vala/static/project/src/main.vala
@@ -0,0 +1,6 @@
+using MyMath;
+
+public void main() {
+ stdout.printf("\n\t2 + 3 is %d", sum(2, 3));
+ stdout.printf("\n\t8 squared is %d\n", square(8));
+}
diff --git a/xmake/templates/vala/static/project/src/mymath.vala b/xmake/templates/vala/static/project/src/mymath.vala
new file mode 100644
index 000000000..4f4e761c5
--- /dev/null
+++ b/xmake/templates/vala/static/project/src/mymath.vala
@@ -0,0 +1,9 @@
+namespace MyMath {
+ public int sum(int a, int b) {
+ return(a + b);
+ }
+
+ public int square(int a) {
+ return(a * a);
+ }
+}
diff --git a/xmake/templates/vala/static/project/xmake.lua b/xmake/templates/vala/static/project/xmake.lua
new file mode 100644
index 000000000..143566fcb
--- /dev/null
+++ b/xmake/templates/vala/static/project/xmake.lua
@@ -0,0 +1,18 @@
+add_rules("mode.release", "mode.debug")
+
+add_requires("glib")
+
+target("mymath")
+ set_kind("static")
+ add_rules("vala")
+ add_files("src/mymath.vala")
+ add_values("vala.header", "mymath.h")
+ add_values("vala.vapi", "mymath-1.0.vapi")
+ add_packages("glib")
+
+target("${TARGETNAME}")
+ set_kind("binary")
+ add_deps("mymath")
+ add_rules("vala")
+ add_files("src/main.vala")
+ add_packages("glib")
diff --git a/xmake/templates/vala/static/template.lua b/xmake/templates/vala/static/template.lua
new file mode 100644
index 000000000..abfe91a4b
--- /dev/null
+++ b/xmake/templates/vala/static/template.lua
@@ -0,0 +1,2 @@
+template("static")
+ add_configfiles("xmake.lua")