X-Git-Url: http://git.tdb.fi/?p=libs%2Fgui.git;a=blobdiff_plain;f=Build;h=d9d7fc73ac6c795094bcc672a74999b253d2d20c;hp=9e564ff56a8508934334e5e2cf64f9779189994b;hb=HEAD;hpb=ad7b7bd9c61fc61e5ae5b8434d0d687b63a755c7 diff --git a/Build b/Build index 9e564ff..2edee77 100644 --- a/Build +++ b/Build @@ -1,22 +1,22 @@ 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 "user32"; + library "xinput"; }; }; if_arch "darwin" @@ -43,34 +43,96 @@ package "mspgui" 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" + { + 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"; @@ -81,19 +143,41 @@ package "mspgui" }; 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" + if_arch "!windows & !darwin & !android" { - if_arch "!darwin" + overlay "x11"; + if_feature "opengl" { - overlay "x11"; - if_feature "opengl" - { - overlay "glx"; - }; + overlay "glx"; + }; + if_feature "vulkan" + { + overlay "vkxlib"; }; }; + overlay "generic"; install true; install_map { @@ -104,10 +188,13 @@ package "mspgui" program "ev" { source "examples/ev.cpp"; - build_info - { - library "mspgui"; - }; + use "mspgui"; + }; + + program "lsmodes" + { + source "examples/lsmodes.cpp"; + use "mspgui"; }; source_tarball