]> git.tdb.fi Git - libs/gui.git/blobdiff - Build
Support for using Quartz to load images on OS X
[libs/gui.git] / Build
diff --git a/Build b/Build
index f311834e48cf4ad3fde968825350396008fb06c2..b96da4d66d3388b53b0c062a25fff18b33af1e1b 100644 (file)
--- a/Build
+++ b/Build
@@ -7,7 +7,10 @@ package "mspgui"
        require "sigc++-2.0";
        if_arch "!windows"
        {
-               require "xlib";
+               if_arch "!darwin"
+               {
+                       require "xlib";
+               };
        };
        if_arch "windows"
        {
@@ -16,6 +19,14 @@ package "mspgui"
                        library "gdi32";
                };
        };
+       if_arch "darwin"
+       {
+               build_info
+               {
+                       library "CoreFoundation.framework";
+                       library "AppKit.framework";
+               };
+       };
 
        feature "devil" "Include DevIL support for loading image files";
        if_feature "devil"
@@ -32,6 +43,21 @@ package "mspgui"
                require "libpng";
        };
 
+       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";
@@ -41,15 +67,12 @@ package "mspgui"
                require "opengl";
        };
 
-       if_arch "!windows"
+       if_arch "!windows & !darwin"
        {
-               feature "xf86vidmode" "Include support for video mode switching with xf86vidmode";
-               if_feature "xf86vidmode"
+               feature "xrandr" "Include support for video mode switching with XRandR";
+               if_feature "xrandr"
                {
-                       build_info
-                       {
-                               library "Xxf86vm";
-                       };
+                       require "xrandr";
                };
        };
 
@@ -57,6 +80,42 @@ package "mspgui"
        {
                source "source/graphics";
                source "source/input";
+               if_feature "libpng"
+               {
+                       source "source/graphics/png";
+               };
+               if_feature "devil"
+               {
+                       source "source/graphics/devil";
+               };
+               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";
+                       };
+               };
+               if_arch "!windows & !darwin"
+               {
+                       overlay "x11";
+                       if_feature "opengl"
+                       {
+                               overlay "glx";
+                       };
+               };
                install true;
                install_map
                {