+ if_arch "!windows & !darwin & !android"
+ {
+ require "xlib";
+ };
+ if_arch "windows"
+ {
+ build_info
+ {
+ library "gdi32";
+ 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";
+ };
+ };