]> git.tdb.fi Git - libs/gui.git/blobdiff - Build
Update .gitignore to include build products on Windows
[libs/gui.git] / Build
diff --git a/Build b/Build
index f311834e48cf4ad3fde968825350396008fb06c2..2edee77c2b1bf74d72ad4eb5365593d33b125221 100644 (file)
--- a/Build
+++ b/Build
@@ -1,11 +1,12 @@
 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"
        {
                require "xlib";
        };
@@ -14,6 +15,16 @@ package "mspgui"
                build_info
                {
                        library "gdi32";
+                       library "user32";
+                       library "xinput";
+               };
+       };
+       if_arch "darwin"
+       {
+               build_info
+               {
+                       library "CoreFoundation.framework";
+                       library "AppKit.framework";
                };
        };
 
@@ -32,31 +43,141 @@ 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"
        {
-               feature "xf86vidmode" "Include support for video mode switching with xf86vidmode";
-               if_feature "xf86vidmode"
+               feature "quartz" "Include Quartz support for loading image files"
+               {
+                       default "yes";
+               };
+               if_feature "quartz"
                {
                        build_info
                        {
-                               library "Xxf86vm";
+                               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
                {
@@ -67,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