]> git.tdb.fi Git - libs/gui.git/blob - Build
Enable xrandr support by default
[libs/gui.git] / Build
1 package "mspgui"
2 {
3         version "2.0";
4         description "Base graphics and input library";
5
6         require "mspcore";
7         require "mspdatafile";
8         require "sigc++-2.0";
9         if_arch "!windows & !darwin & !android"
10         {
11                 require "xlib";
12         };
13         if_arch "windows"
14         {
15                 build_info
16                 {
17                         library "gdi32";
18                         library "xinput";
19                 };
20         };
21         if_arch "darwin"
22         {
23                 build_info
24                 {
25                         library "CoreFoundation.framework";
26                         library "AppKit.framework";
27                 };
28         };
29
30         feature "devil" "Include DevIL support for loading image files";
31         if_feature "devil"
32         {
33                 require "IL";
34         };
35
36         feature "libpng" "Include libpng support for loading PNG files"
37         {
38                 default "yes";
39         };
40         if_feature "libpng"
41         {
42                 require "libpng";
43         };
44
45         feature "libjpeg" "Include libjpeg support for loading JPEG files"
46         {
47                 default "yes";
48         };
49         if_feature "libjpeg"
50         {
51                 build_info
52                 {
53                         library "jpeg";
54                 };
55         };
56
57         if_arch "darwin"
58         {
59                 feature "quartz" "Include Quartz support for loading image files"
60                 {
61                         default "yes";
62                 };
63                 if_feature "quartz"
64                 {
65                         build_info
66                         {
67                                 library "ApplicationServices.framework";
68                         };
69                 };
70         };
71
72         feature "opengl" "Include support for OpenGL contexts"
73         {
74                 default "yes";
75         };
76         if_feature "opengl"
77         {
78                 if_arch "android"
79                 {
80                         require "opengles";
81                 };
82                 if_arch "!android"
83                 {
84                         require "opengl";
85                 };
86         };
87
88         feature "vulkan" "Include support for Vulkan contexts"
89         {
90                 default "no";
91         };
92         if_feature "vulkan"
93         {
94                 require "vulkan";
95         };
96
97         if_arch "!windows & !darwin & !android"
98         {
99                 feature "xrandr" "Include support for video mode switching with XRandR"
100                 {
101                         default "yes";
102                         export true;
103                 };
104                 if_feature "xrandr"
105                 {
106                         require "xrandr";
107                 };
108         };
109
110         build_info
111         {
112                 standard CXX "c++11";
113         };
114
115         library "mspgui"
116         {
117                 source "source/graphics";
118                 source "source/input";
119                 if_feature "libpng"
120                 {
121                         source "source/graphics/png";
122                 };
123                 if_feature "libjpeg"
124                 {
125                         source "source/graphics/jpeg";
126                 };
127                 if_feature "devil"
128                 {
129                         source "source/graphics/devil";
130                 };
131                 if_arch "linux"
132                 {
133                         overlay "linux";
134                 };
135                 if_arch "windows"
136                 {
137                         overlay "windows";
138                         if_feature "opengl"
139                         {
140                                 overlay "wgl";
141                         };
142                 };
143                 if_arch "darwin"
144                 {
145                         if_feature "quartz"
146                         {
147                                 source "source/graphics/quartz";
148                         };
149                         overlay "cocoa";
150                         if_feature "opengl"
151                         {
152                                 overlay "cgl";
153                         };
154                         build_info
155                         {
156                                 standard CC "c99";
157                         };
158                 };
159                 if_arch "android"
160                 {
161                         overlay "android";
162                         if_feature "opengl"
163                         {
164                                 overlay "egl_android";
165                         };
166                 };
167                 if_arch "!windows & !darwin & !android"
168                 {
169                         overlay "x11";
170                         if_feature "opengl"
171                         {
172                                 overlay "glx";
173                         };
174                         if_feature "vulkan"
175                         {
176                                 overlay "vkxlib";
177                         };
178                 };
179                 overlay "generic";
180                 install true;
181                 install_map
182                 {
183                         map "source" "include/msp";
184                 };
185         };
186
187         program "ev"
188         {
189                 source "examples/ev.cpp";
190                 use "mspgui";
191         };
192
193         program "lsmodes"
194         {
195                 source "examples/lsmodes.cpp";
196                 use "mspgui";
197         };
198
199         source_tarball
200         {
201                 source "License.txt";
202                 source "Changelog.txt";
203         };
204 };