package "mspgui" { version "2.0"; description "Base graphics and input library"; require "mspcore"; require "mspdatafile"; require "sigc++-2.0"; if_arch "!windows & !darwin & !android" { require "xlib"; }; if_arch "windows" { build_info { library "gdi32"; library "user32"; library "xinput"; }; }; if_arch "darwin" { build_info { library "CoreFoundation.framework"; library "AppKit.framework"; }; }; feature "devil" "Include DevIL support for loading image files"; if_feature "devil" { require "IL"; }; feature "libpng" "Include libpng support for loading PNG files" { default "yes"; }; if_feature "libpng" { require "libpng"; }; feature "libjpeg" "Include libjpeg support for loading JPEG files" { default "yes"; }; if_feature "libjpeg" { build_info { library "jpeg"; }; }; if_arch "darwin" { feature "quartz" "Include Quartz support for loading image files" { default "yes"; }; if_feature "quartz" { build_info { 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" { default "yes"; 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_feature "opengl" { overlay "wgl"; }; }; if_arch "darwin" { if_feature "quartz" { source "source/graphics/quartz"; }; overlay "cocoa"; if_feature "opengl" { overlay "cgl"; }; build_info { standard CC "c99"; }; }; if_arch "android" { overlay "android"; if_feature "opengl" { 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 { map "source" "include/msp"; }; }; program "ev" { source "examples/ev.cpp"; use "mspgui"; }; program "lsmodes" { source "examples/lsmodes.cpp"; use "mspgui"; }; source_tarball { source "License.txt"; source "Changelog.txt"; }; };