package "mspgui"
{
- version "1.1";
+ version "2.0";
description "Base graphics and input library";
require "mspcore";
+ require "mspdatafile";
require "sigc++-2.0";
- if_arch "!windows"
+ if_arch "!windows & !darwin & !android"
{
- if_arch "!darwin"
- {
- require "xlib";
- };
+ require "xlib";
};
if_arch "windows"
{
build_info
{
library "gdi32";
+ library "xinput";
};
};
if_arch "darwin"
require "libpng";
};
- feature "opengl" "Include support for OpenGL contexts"
+ feature "libjpeg" "Include libjpeg support for loading JPEG files"
{
default "yes";
};
- if_feature "opengl"
+ if_feature "libjpeg"
{
- require "opengl";
+ build_info
+ {
+ library "jpeg";
+ };
};
- if_arch "!windows"
+ if_arch "darwin"
{
- if_arch "!darwin"
+ feature "quartz" "Include Quartz support for loading image files"
{
- feature "xrandr" "Include support for video mode switching with XRandR";
- if_feature "xrandr"
+ default "yes";
+ };
+ if_feature "quartz"
+ {
+ build_info
{
- build_info
- {
- library "Xrandr";
- };
+ library "ApplicationServices.framework";
};
};
};
+ feature "opengl" "Include support for OpenGL contexts"
+ {
+ default "yes";
+ };
+ if_feature "opengl"
+ {
+ if_arch "android"
+ {
+ require "opengles";
+ };
+ if_arch "!android"
+ {
+ require "opengl";
+ };
+ };
+
+ feature "vulkan" "Include support for Vulkan contexts"
+ {
+ default "no";
+ };
+ if_feature "vulkan"
+ {
+ require "vulkan";
+ };
+
+ if_arch "!windows & !darwin & !android"
+ {
+ feature "xrandr" "Include support for video mode switching with XRandR"
+ {
+ export true;
+ };
+ if_feature "xrandr"
+ {
+ require "xrandr";
+ };
+ };
+
+ build_info
+ {
+ standard CXX "c++11";
+ };
+
library "mspgui"
{
source "source/graphics";
source "source/input";
+ if_feature "libpng"
+ {
+ source "source/graphics/png";
+ };
+ if_feature "libjpeg"
+ {
+ source "source/graphics/jpeg";
+ };
+ if_feature "devil"
+ {
+ source "source/graphics/devil";
+ };
+ if_arch "linux"
+ {
+ overlay "linux";
+ };
if_arch "windows"
{
overlay "windows";
};
if_arch "darwin"
{
+ if_feature "quartz"
+ {
+ source "source/graphics/quartz";
+ };
overlay "cocoa";
+ if_feature "opengl"
+ {
+ overlay "cgl";
+ };
+ build_info
+ {
+ standard CC "c99";
+ };
};
- if_arch "!windows"
+ if_arch "android"
{
- if_arch "!darwin"
+ overlay "android";
+ if_feature "opengl"
{
- overlay "x11";
- if_feature "opengl"
- {
- overlay "glx";
- };
+ overlay "egl_android";
};
};
+ if_arch "!windows & !darwin & !android"
+ {
+ overlay "x11";
+ if_feature "opengl"
+ {
+ overlay "glx";
+ };
+ if_feature "vulkan"
+ {
+ overlay "vkxlib";
+ };
+ };
+ overlay "generic";
install true;
install_map
{
program "ev"
{
source "examples/ev.cpp";
- build_info
- {
- library "mspgui";
- };
+ use "mspgui";
};
source_tarball