X-Git-Url: http://git.tdb.fi/?p=libs%2Fgui.git;a=blobdiff_plain;f=Build;h=d9d7fc73ac6c795094bcc672a74999b253d2d20c;hp=7447df7716604235e67eb5bfbed26c16410b5e40;hb=HEAD;hpb=5b2c1ec3d21ae3d772354c75a8f522f856958127 diff --git a/Build b/Build index 7447df7..2edee77 100644 --- a/Build +++ b/Build @@ -1,67 +1,205 @@ -/* $Id$ */ - -package "mspgbase" +package "mspgui" { - version "1.0"; + version "2.0"; description "Base graphics and input library"; - tar_file "License.txt"; - tar_file "Changelog.txt"; - require "mspcore"; - require "mspstrings"; + require "mspdatafile"; require "sigc++-2.0"; - if "arch!=win32" + if_arch "!windows & !darwin & !android" { require "xlib"; + }; + if_arch "windows" + { build_info { - library "Xxf86vm"; + library "gdi32"; + library "user32"; + library "xinput"; }; }; - if "arch=win32" + if_arch "darwin" { build_info { - library "gdi32"; + library "CoreFoundation.framework"; + library "AppKit.framework"; }; }; feature "devil" "Include DevIL support for loading image files"; - if "with_devil" + if_feature "devil" { - require "devil"; + require "IL"; }; - feature "libpng" "Include libpng support for loading PNG files (also requires libmspio)"; - if "with_png" + feature "libpng" "Include libpng support for loading PNG files" + { + default "yes"; + }; + if_feature "libpng" { require "libpng"; - require "mspio"; }; - feature "opengl" "Include support for OpenGL contexts"; - if "with_opengl" + feature "libjpeg" "Include libjpeg support for loading JPEG files" { - require "opengl"; + default "yes"; + }; + if_feature "libjpeg" + { + build_info + { + library "jpeg"; + }; }; - headers "gbase" + if_arch "darwin" { - source "source/gbase"; - install_headers "msp/gbase"; + feature "quartz" "Include Quartz support for loading image files" + { + default "yes"; + }; + if_feature "quartz" + { + build_info + { + library "ApplicationServices.framework"; + }; + }; }; - headers "input" + feature "opengl" "Include support for OpenGL contexts" { - source "source/input"; - install_headers "msp/input"; + 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"; + }; }; - library "mspgbase" + build_info { - source "source/gbase"; + 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"; }; };