]> git.tdb.fi Git - libs/gui.git/blob - Build
Add an example program for listing video modes
[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                         export true;
102                 };
103                 if_feature "xrandr"
104                 {
105                         require "xrandr";
106                 };
107         };
108
109         build_info
110         {
111                 standard CXX "c++11";
112         };
113
114         library "mspgui"
115         {
116                 source "source/graphics";
117                 source "source/input";
118                 if_feature "libpng"
119                 {
120                         source "source/graphics/png";
121                 };
122                 if_feature "libjpeg"
123                 {
124                         source "source/graphics/jpeg";
125                 };
126                 if_feature "devil"
127                 {
128                         source "source/graphics/devil";
129                 };
130                 if_arch "linux"
131                 {
132                         overlay "linux";
133                 };
134                 if_arch "windows"
135                 {
136                         overlay "windows";
137                         if_feature "opengl"
138                         {
139                                 overlay "wgl";
140                         };
141                 };
142                 if_arch "darwin"
143                 {
144                         if_feature "quartz"
145                         {
146                                 source "source/graphics/quartz";
147                         };
148                         overlay "cocoa";
149                         if_feature "opengl"
150                         {
151                                 overlay "cgl";
152                         };
153                         build_info
154                         {
155                                 standard CC "c99";
156                         };
157                 };
158                 if_arch "android"
159                 {
160                         overlay "android";
161                         if_feature "opengl"
162                         {
163                                 overlay "egl_android";
164                         };
165                 };
166                 if_arch "!windows & !darwin & !android"
167                 {
168                         overlay "x11";
169                         if_feature "opengl"
170                         {
171                                 overlay "glx";
172                         };
173                         if_feature "vulkan"
174                         {
175                                 overlay "vkxlib";
176                         };
177                 };
178                 overlay "generic";
179                 install true;
180                 install_map
181                 {
182                         map "source" "include/msp";
183                 };
184         };
185
186         program "ev"
187         {
188                 source "examples/ev.cpp";
189                 use "mspgui";
190         };
191
192         program "lsmodes"
193         {
194                 source "examples/lsmodes.cpp";
195                 use "mspgui";
196         };
197
198         source_tarball
199         {
200                 source "License.txt";
201                 source "Changelog.txt";
202         };
203 };