]> 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 fcdb63284618d3829180edbb18675b35045da118..c195c2c8e5c91747779d8908771c9b2ea4fde203 100644 (file)
--- a/Build
+++ b/Build
@@ -1,6 +1,6 @@
 package "mspgl"
 {
-       version "2.0";
+       version "3.0";
        description "Lightweight C++/OpenGL graphics engine";
 
        require "mspcore";
@@ -8,54 +8,108 @@ 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";
+                       };
                };
        };
 
        generate "RES"
        {
                in_suffix ".glsl";
+               in_suffix ".samp";
+               in_suffix ".mesh";
+               in_suffix ".png";
                out_suffix ".cpp";
-               command "scripts/resgen.py";
+               command "mspdatatool";
+               arguments "-i" "-n" "Msp::GL";
+               out_argument "-o";
+               processing_unit DIRECTORY;
        };
 
        library "mspgl"
        {
-               source "source";
+               source "source/core";
+               source "source/materials";
+               source "source/render";
+               source "source/effects";
+               source "source/animation";
+               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";
+               build_info
+               {
+                       incpath "source";
+                       incpath "source/core";
+                       incpath "source/materials";
+                       incpath "source/render";
+                       incpath "source/effects";
+                       incpath "source/animation";
+                       incpath "source/resources";
+                       incpath "source/builders";
+                       standard CXX "c++11";
+               };
                install true;
                install_map
                {
-                       map "source" "include/msp/gl";
+                       map "source/core" "include/msp/gl";
+                       map "source/materials" "include/msp/gl";
+                       map "source/render" "include/msp/gl";
+                       map "source/effects" "include/msp/gl";
+                       map "source/animation" "include/msp/gl";
+                       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";
-                       map "shaderlib" "include/msp/gl/resources";
                };
        };
 
-       program "mesh2c"
-       {
-               source "tools/mesh2c.cpp";
-               use "mspgl";
-       };
-
        program "viewer"
        {
                source "tools/viewer.cpp";
@@ -63,22 +117,31 @@ package "mspgl"
                use "mspgl";
        };
 
-       program "shaders"
+       program "desertpillars"
        {
-               source "demos/shaders.cpp";
+               source "demos/desertpillars/source";
+               require "sigc++-2.0";
                use "mspgl";
+               build_info
+               {
+                       standard CXX "c++14";
+               };
        };
 
-       program "cubemap"
+       program "forestpond"
        {
-               source "demos/cubemap.cpp";
+               source "demos/forestpond/source";
+               require "sigc++-2.0";
                use "mspgl";
+               build_info
+               {
+                       standard CXX "c++14";
+               };
        };
 
-       program "desertpillars"
+       program "glslcompiler"
        {
-               source "demos/desertpillars.cpp";
-               require "sigc++-2.0";
+               source "tools/glslcompiler.cpp";
                use "mspgl";
        };