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";
out_suffix ".cpp";
command "mspdatatool";
arguments "-i" "-n" "Msp::GL";
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/animation";
incpath "source/resources";
incpath "source/builders";
+ standard CXX "c++11";
};
install true;
install_map
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";
};
};
program "desertpillars"
{
- source "demos/desertpillars.cpp";
+ source "demos/desertpillars/source";
require "sigc++-2.0";
use "mspgl";
+ build_info
+ {
+ standard CXX "c++14";
+ };
+ };
+
+ program "glslcompiler"
+ {
+ source "tools/glslcompiler.cpp";
+ use "mspgl";
};
source_tarball