]> git.tdb.fi Git - libs/gl.git/blobdiff - Build
Check the flat qualifier from the correct member
[libs/gl.git] / Build
diff --git a/Build b/Build
index 581a4f2172058fb2b04113a93b566a3dd9d97895..c195c2c8e5c91747779d8908771c9b2ea4fde203 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";
+                       };
                };
        };
 
@@ -34,6 +44,7 @@ package "mspgl"
                in_suffix ".glsl";
                in_suffix ".samp";
                in_suffix ".mesh";
+               in_suffix ".png";
                out_suffix ".cpp";
                command "mspdatatool";
                arguments "-i" "-n" "Msp::GL";
@@ -51,6 +62,22 @@ package "mspgl"
                source "source/resources";
                source "source/glsl";
                source "source/builders";
+               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";
@@ -64,6 +91,7 @@ package "mspgl"
                        incpath "source/animation";
                        incpath "source/resources";
                        incpath "source/builders";
+                       standard CXX "c++11";
                };
                install true;
                install_map
@@ -76,6 +104,8 @@ package "mspgl"
                        map "source/resources" "include/msp/gl";
                        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";
                };
        };
@@ -98,6 +128,17 @@ package "mspgl"
                };
        };
 
+       program "forestpond"
+       {
+               source "demos/forestpond/source";
+               require "sigc++-2.0";
+               use "mspgl";
+               build_info
+               {
+                       standard CXX "c++14";
+               };
+       };
+
        program "glslcompiler"
        {
                source "tools/glslcompiler.cpp";