]> git.tdb.fi Git - libs/gl.git/blobdiff - Build
Initial implementation of Vulkan backend
[libs/gl.git] / Build
diff --git a/Build b/Build
index 6bf5ebb03a11208134dcf638ae001a36c735c663..b46c5ad4c40d8c80c9dbc315af4be6abd40f02d0 100644 (file)
--- a/Build
+++ b/Build
@@ -8,24 +8,34 @@ package "mspgl"
        require "mspmath";
        require "mspgui";
        require "sigc++-2.0";
-       if_arch "android"
-       {
-               require "opengles";
-       };
-       if_arch "!android"
+
+       feature "vulkan" "Use Vulkan instead of OpenGL as backend";
+       if_feature "vulkan"
        {
-               require "opengl";
+               require "vulkan";
        };
 
-       generate "GLEX"
+       if_feature "!vulkan"
        {
-               in_suffix ".glext";
-               out_suffix ".cpp";
-               out_suffix ".h";
-               command "scripts/extgen.py";
                if_arch "android"
                {
-                       argument "gles2";
+                       require "opengles";
+               };
+               if_arch "!android"
+               {
+                       require "opengl";
+               };
+
+               generate "GLEX"
+               {
+                       in_suffix ".glext";
+                       out_suffix ".cpp";
+                       out_suffix ".h";
+                       command "scripts/extgen.py";
+                       if_arch "android"
+                       {
+                               argument "gles2";
+                       };
                };
        };
 
@@ -51,7 +61,22 @@ package "mspgl"
                source "source/resources";
                source "source/glsl";
                source "source/builders";
-               source "source/backends/opengl";
+               if_feature "vulkan"
+               {
+                       source "source/backends/vulkan";
+                       build_info
+                       {
+                               incpath "source/backends/vulkan";
+                       };
+               };
+               if_feature "!vulkan"
+               {
+                       source "source/backends/opengl";
+                       build_info
+                       {
+                               incpath "source/backends/opengl";
+                       };
+               };
                source "extensions";
                source "builtin_data";
                source "shaderlib";
@@ -65,7 +90,6 @@ package "mspgl"
                        incpath "source/animation";
                        incpath "source/resources";
                        incpath "source/builders";
-                       incpath "source/backends/opengl";
                        standard CXX "c++11";
                };
                install true;
@@ -80,6 +104,7 @@ package "mspgl"
                        map "source/glsl" "include/msp/gl/glsl";
                        map "source/builders" "include/msp/gl";
                        map "source/backends/opengl" "include/msp/gl";
+                       map "source/backends/vulkan" "include/msp/gl";
                        map "extensions" "include/msp/gl/extensions";
                };
        };