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