Skip to content

Latest commit

 

History

History
470 lines (406 loc) · 14.7 KB

CMakeLists.txt

File metadata and controls

470 lines (406 loc) · 14.7 KB
 
May 12, 2007
May 12, 2007
1
2
3
4
5
6
7
8
# MojoSetup; a portable, flexible installation application.
#
# Please see the file LICENSE.txt in the source's root directory.
#
# This file written by Ryan C. Gordon.
May 9, 2007
May 9, 2007
9
10
11
12
13
14
# The "BINARY SIZE +=" comments note about how much bulk, in kilobytes, a
# given option adds to the binary on x86 Linux (built with gcc 3.3.6
# MinSizeRel options and stripped, uncompressed). These numbers will vary,
# and even on the original test system, become incorrect over time.
# Only choose options you want/need to squeeze every byte off the download.
Dec 7, 2006
Dec 7, 2006
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
PROJECT(MojoSetup)
SET(MOJOSETUP_VERSION 0.1)
# I hate that they define "WIN32" ... we're about to move to Win64...I hope!
IF(WIN32 AND NOT WINDOWS)
SET(WINDOWS TRUE)
ENDIF(WIN32 AND NOT WINDOWS)
# Bleh, let's do it for "APPLE" too.
IF(APPLE AND NOT MACOSX)
SET(MACOSX TRUE)
ENDIF(APPLE AND NOT MACOSX)
INCLUDE(CheckIncludeFile)
INCLUDE(CheckLibraryExists)
INCLUDE(CheckCSourceCompiles)
May 9, 2007
May 9, 2007
31
INCLUDE(CheckCCompilerFlag)
Apr 29, 2007
Apr 29, 2007
32
INCLUDE(TestBigEndian)
Dec 7, 2006
Dec 7, 2006
33
May 5, 2007
May 5, 2007
34
ADD_DEFINITIONS(-D__MOJOSETUP__=1)
Dec 7, 2006
Dec 7, 2006
35
36
37
38
39
40
ADD_DEFINITIONS(-DAPPID=mojosetup)
ADD_DEFINITIONS(-DAPPREV=${MOJOSETUP_VERSION})
ADD_DEFINITIONS(-D_REENTRANT)
ADD_DEFINITIONS(-D_THREAD_SAFE)
INCLUDE_DIRECTORIES(.)
Dec 8, 2006
Dec 8, 2006
41
INCLUDE_DIRECTORIES(lua-5.1.1/src)
Dec 7, 2006
Dec 7, 2006
42
43
44
45
46
47
48
49
IF(WINDOWS)
ADD_DEFINITIONS(-DPLATFORM_WINDOWS=1)
ENDIF(WINDOWS)
IF(MACOSX)
ADD_DEFINITIONS(-DPLATFORM_MACOSX=1)
ADD_DEFINITIONS(-DLUA_USE_DYLD=1)
Dec 12, 2006
Dec 12, 2006
50
51
52
53
IF(CMAKE_OSX_ARCHITECTURES MATCHES ppc)
ADD_DEFINITIONS(-DMAC_OS_X_VERSION_MIN_REQUIRED=1020)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} "-mmacosx-version-min=10.2")
ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES ppc)
Dec 7, 2006
Dec 7, 2006
54
55
56
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} "-framework Carbon")
ENDIF(MACOSX)
Dec 13, 2006
Dec 13, 2006
57
IF(BEOS)
Dec 13, 2006
Dec 13, 2006
58
59
ADD_DEFINITIONS(-DPLATFORM_BEOS=1)
# !!! FIXME: Workaround for lua issue...fix this better.
Dec 13, 2006
Dec 13, 2006
60
61
62
63
ADD_DEFINITIONS(-D_setjmp=setjmp)
ADD_DEFINITIONS(-D_longjmp=longjmp)
ENDIF(BEOS)
Dec 7, 2006
Dec 7, 2006
64
IF(UNIX)
May 8, 2007
May 8, 2007
65
66
67
68
69
70
# !!! FIXME: probably not safe long-term.
# CMake mailing list had this hack for getting rid of -rdynamic:
# http://public.kitware.com/pipermail/cmake/2006-July/010404.html
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS)
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
Dec 7, 2006
Dec 7, 2006
71
72
ADD_DEFINITIONS(-DPLATFORM_UNIX=1)
ADD_DEFINITIONS(-DLUA_USE_POSIX=1)
Dec 13, 2006
Dec 13, 2006
73
IF(NOT MACOSX AND NOT BEOS)
Dec 7, 2006
Dec 7, 2006
74
ADD_DEFINITIONS(-DLUA_USE_DLOPEN=1)
Dec 13, 2006
Dec 13, 2006
75
ENDIF(NOT MACOSX AND NOT BEOS)
Dec 7, 2006
Dec 7, 2006
76
77
78
ENDIF(UNIX)
IF(CMAKE_COMPILER_IS_GNUCC)
Dec 14, 2006
Dec 14, 2006
79
ADD_DEFINITIONS(-pipe -Wall -Werror -fsigned-char)
Dec 7, 2006
Dec 7, 2006
80
May 9, 2007
May 9, 2007
81
# See if -fvisibility=hidden is available to us.
Dec 7, 2006
Dec 7, 2006
82
83
84
85
86
87
88
89
90
91
92
CHECK_C_SOURCE_COMPILES("
#if ((defined(__GNUC__)) && (__GNUC__ >= 4))
int main(int argc, char **argv) { int is_gcc4 = 1; return 0; }
#else
#error This is not gcc4.
#endif
" MOJOSETUP_IS_GCC4)
IF(MOJOSETUP_IS_GCC4)
ADD_DEFINITIONS(-fvisibility=hidden)
ENDIF(MOJOSETUP_IS_GCC4)
May 9, 2007
May 9, 2007
93
94
95
96
97
98
99
# See if -fno-stack-protector is available to us.
# It doesn't seem to work well, and it adds bulk to the binary.
CHECK_C_COMPILER_FLAG("-fno-stack-protector" MOJOSETUP_GCC_HAS_STACKPROT)
IF(MOJOSETUP_GCC_HAS_STACKPROT)
ADD_DEFINITIONS(-fno-stack-protector)
ENDIF(MOJOSETUP_GCC_HAS_STACKPROT)
Dec 7, 2006
Dec 7, 2006
100
101
ENDIF(CMAKE_COMPILER_IS_GNUCC)
Apr 29, 2007
Apr 29, 2007
102
103
104
105
106
107
108
TEST_BIG_ENDIAN(MOJOSETUP_IS_BIGENDIAN)
IF(MOJOSETUP_IS_BIGENDIAN)
ADD_DEFINITIONS(-DPLATFORM_BIGENDIAN=1)
ELSE(MOJOSETUP_IS_BIGENDIAN)
ADD_DEFINITIONS(-DPLATFORM_LITTLEENDIAN=1)
ENDIF(MOJOSETUP_IS_BIGENDIAN)
May 4, 2007
May 4, 2007
109
SET(ZLIB_DIR zlib-1.2.3)
Dec 7, 2006
Dec 7, 2006
110
SET(ZLIB_SRCS
May 4, 2007
May 4, 2007
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
${ZLIB_DIR}/adler32.c
${ZLIB_DIR}/compress.c
${ZLIB_DIR}/crc32.c
${ZLIB_DIR}/deflate.c
${ZLIB_DIR}/gzio.c
${ZLIB_DIR}/infback.c
${ZLIB_DIR}/inffast.c
${ZLIB_DIR}/inflate.c
${ZLIB_DIR}/inftrees.c
${ZLIB_DIR}/trees.c
${ZLIB_DIR}/uncompr.c
${ZLIB_DIR}/zutil.c
)
SET(BZLIB_DIR bzip2-1.0.4)
SET(BZLIB_SRCS
${BZLIB_DIR}/blocksort.c
${BZLIB_DIR}/huffman.c
${BZLIB_DIR}/crctable.c
${BZLIB_DIR}/randtable.c
${BZLIB_DIR}/compress.c
${BZLIB_DIR}/decompress.c
${BZLIB_DIR}/bzlib.c
Dec 7, 2006
Dec 7, 2006
134
135
)
May 5, 2007
May 5, 2007
136
137
138
139
140
SET(LIBFETCH_DIR libfetch)
SET(LIBFETCH_SRCS
${LIBFETCH_DIR}/fetch.c
${LIBFETCH_DIR}/common.c
${LIBFETCH_DIR}/ftp.c
May 6, 2007
May 6, 2007
141
${LIBFETCH_DIR}/http.c
May 5, 2007
May 5, 2007
142
143
144
)
SET(LUA_DIR lua-5.1.1)
Dec 7, 2006
Dec 7, 2006
145
SET(LUA_SRCS
May 5, 2007
May 5, 2007
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
${LUA_DIR}/src/lapi.c
${LUA_DIR}/src/ldebug.c
${LUA_DIR}/src/ldo.c
${LUA_DIR}/src/ldump.c
${LUA_DIR}/src/lfunc.c
${LUA_DIR}/src/lgc.c
${LUA_DIR}/src/lmem.c
${LUA_DIR}/src/lobject.c
${LUA_DIR}/src/lopcodes.c
${LUA_DIR}/src/lstate.c
${LUA_DIR}/src/lstring.c
${LUA_DIR}/src/ltable.c
${LUA_DIR}/src/ltm.c
${LUA_DIR}/src/lundump.c
${LUA_DIR}/src/lvm.c
${LUA_DIR}/src/lzio.c
${LUA_DIR}/src/lauxlib.c
${LUA_DIR}/src/lbaselib.c
${LUA_DIR}/src/lstrlib.c
May 12, 2007
May 12, 2007
165
${LUA_DIR}/src/ltablib.c
Dec 7, 2006
Dec 7, 2006
166
167
)
Dec 20, 2006
Dec 20, 2006
168
SET(LUA_PARSER_SRCS
May 5, 2007
May 5, 2007
169
170
171
${LUA_DIR}/src/lparser.c
${LUA_DIR}/src/llex.c
${LUA_DIR}/src/lcode.c
Dec 20, 2006
Dec 20, 2006
172
173
174
175
176
177
178
179
)
SET(MOJOSETUP_SRCS
buildver.c
mojosetup.c
gui.c
fileio.c
archive_zip.c
May 4, 2007
May 4, 2007
180
archive_tar.c
May 8, 2007
May 8, 2007
181
182
platform_unix.c
platform_beos.c
Dec 20, 2006
Dec 20, 2006
183
184
185
186
187
188
189
lua_glue.c
${LUA_SRCS}
)
SET(MOJOLUAC_SRCS
${LUA_SRCS}
${LUA_PARSER_SRCS}
May 5, 2007
May 5, 2007
190
191
${LUA_DIR}/src/luac.c
${LUA_DIR}/src/print.c
May 9, 2007
May 9, 2007
192
193
194
195
196
197
${LUA_DIR}/src/linit.c
${LUA_DIR}/src/ldblib.c
${LUA_DIR}/src/liolib.c
${LUA_DIR}/src/lmathlib.c
${LUA_DIR}/src/loslib.c
${LUA_DIR}/src/loadlib.c
Dec 20, 2006
Dec 20, 2006
198
199
)
May 9, 2007
May 9, 2007
200
201
202
203
# Disabling the parser cuts the Lua binary bits by about 35%, plus .luac files
# are almost always smaller than the original scripts. The downside is you
# (and end users in the field) can't just tweak a script without recompiling
# it, but even that's not an unclimbable obstacle.
Dec 9, 2006
Dec 9, 2006
204
205
# In reality, you probably want to keep the parser, though, unless you REALLY
# must save every single byte in the download.
May 9, 2007
May 9, 2007
206
# BINARY SIZE += 19
Dec 9, 2006
Dec 9, 2006
207
208
OPTION(MOJOSETUP_LUA_PARSER "Bigger binary but scripts don't need to be compiled." TRUE)
IF(MOJOSETUP_LUA_PARSER)
Dec 20, 2006
Dec 20, 2006
209
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_PARSER_SRCS})
Dec 9, 2006
Dec 9, 2006
210
ELSE(MOJOSETUP_LUA_PARSER)
May 5, 2007
May 5, 2007
211
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_DIR}/etc/noparser.c)
Dec 9, 2006
Dec 9, 2006
212
213
214
ADD_DEFINITIONS(-DDISABLE_LUA_PARSER=1)
ENDIF(MOJOSETUP_LUA_PARSER)
May 9, 2007
May 9, 2007
215
216
217
# Optional bits of the Lua runtime library...
May 9, 2007
May 9, 2007
218
# BINARY SIZE += 4.5
May 9, 2007
May 9, 2007
219
220
221
222
223
224
225
OPTION(MOJOSETUP_LUALIB_IO "Add Lua 'io' library" TRUE)
MARK_AS_ADVANCED(MOJOSETUP_LUALIB_IO)
IF(MOJOSETUP_LUALIB_IO)
ADD_DEFINITIONS(-DSUPPORT_LUALIB_IO=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_DIR}/src/liolib.c)
ENDIF(MOJOSETUP_LUALIB_IO)
May 9, 2007
May 9, 2007
226
# BINARY SIZE += 2.5
May 9, 2007
May 9, 2007
227
228
229
230
231
232
233
OPTION(MOJOSETUP_LUALIB_OS "Add Lua 'os' library" TRUE)
MARK_AS_ADVANCED(MOJOSETUP_LUALIB_OS)
IF(MOJOSETUP_LUALIB_OS)
ADD_DEFINITIONS(-DSUPPORT_LUALIB_OS=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_DIR}/src/loslib.c)
ENDIF(MOJOSETUP_LUALIB_OS)
May 9, 2007
May 9, 2007
234
# BINARY SIZE += 3.5
May 9, 2007
May 9, 2007
235
236
237
238
239
240
241
OPTION(MOJOSETUP_LUALIB_MATH "Add Lua 'math' library" TRUE)
MARK_AS_ADVANCED(MOJOSETUP_LUALIB_MATH)
IF(MOJOSETUP_LUALIB_MATH)
ADD_DEFINITIONS(-DSUPPORT_LUALIB_MATH=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_DIR}/src/lmathlib.c)
ENDIF(MOJOSETUP_LUALIB_MATH)
May 9, 2007
May 9, 2007
242
# BINARY SIZE += 3.5
May 9, 2007
May 9, 2007
243
244
245
246
247
248
249
OPTION(MOJOSETUP_LUALIB_DB "Add Lua 'db' library" TRUE)
MARK_AS_ADVANCED(MOJOSETUP_LUALIB_DB)
IF(MOJOSETUP_LUALIB_DB)
ADD_DEFINITIONS(-DSUPPORT_LUALIB_DB=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_DIR}/src/ldblib.c)
ENDIF(MOJOSETUP_LUALIB_DB)
May 9, 2007
May 9, 2007
250
# BINARY SIZE += 4
May 9, 2007
May 9, 2007
251
252
253
254
255
256
257
258
259
260
OPTION(MOJOSETUP_LUALIB_PACKAGE "Add Lua 'package' library" TRUE)
MARK_AS_ADVANCED(MOJOSETUP_LUALIB_PACKAGE)
IF(MOJOSETUP_LUALIB_PACKAGE)
ADD_DEFINITIONS(-DSUPPORT_LUALIB_PACKAGE=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LUA_DIR}/src/loadlib.c)
ENDIF(MOJOSETUP_LUALIB_PACKAGE)
# GUI plugins...
May 9, 2007
May 9, 2007
261
# BINARY SIZE += 2.5
Dec 7, 2006
Dec 7, 2006
262
263
264
265
266
267
OPTION(MOJOSETUP_GUI_STDIO "Enable stdio GUI" TRUE)
IF(MOJOSETUP_GUI_STDIO)
ADD_DEFINITIONS(-DSUPPORT_GUI_STDIO=1)
OPTION(MOJOSETUP_GUI_STDIO_STATIC "Statically link stdio GUI" TRUE)
IF(MOJOSETUP_GUI_STDIO_STATIC)
ADD_DEFINITIONS(-DGUI_STATIC_LINK_STDIO=1)
May 8, 2007
May 8, 2007
268
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} gui_stdio.c)
Dec 7, 2006
Dec 7, 2006
269
ELSE(MOJOSETUP_GUI_STDIO_STATIC)
May 18, 2007
May 18, 2007
270
ADD_LIBRARY(mojosetupgui_stdio SHARED gui_stdio.c)
Dec 7, 2006
Dec 7, 2006
271
272
273
274
275
276
277
278
279
280
ENDIF(MOJOSETUP_GUI_STDIO_STATIC)
ENDIF(MOJOSETUP_GUI_STDIO)
IF(MACOSX)
OPTION(MOJOSETUP_GUI_MACOSX "Enable Mac OS X GUI" TRUE)
IF(MOJOSETUP_GUI_MACOSX)
ADD_DEFINITIONS(-DSUPPORT_GUI_MACOSX=1)
OPTION(MOJOSETUP_GUI_MACOSX_STATIC "Statically link Mac OS X GUI" TRUE)
IF(MOJOSETUP_GUI_MACOSX_STATIC)
ADD_DEFINITIONS(-DGUI_STATIC_LINK_MACOSX=1)
May 8, 2007
May 8, 2007
281
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} gui_macosx.c)
Dec 7, 2006
Dec 7, 2006
282
ELSE(MOJOSETUP_GUI_MACOSX_STATIC)
May 18, 2007
May 18, 2007
283
284
ADD_LIBRARY(mojosetupgui_macosx SHARED gui_macosx.c)
TARGET_LINK_LIBRARIES(mojosetupgui_macosx
May 7, 2007
May 7, 2007
285
"-framework Carbon -mmacosx-version-min=10.2"
Dec 12, 2006
Dec 12, 2006
286
)
Dec 7, 2006
Dec 7, 2006
287
288
289
290
ENDIF(MOJOSETUP_GUI_MACOSX_STATIC)
ENDIF(MOJOSETUP_GUI_MACOSX)
ENDIF(MACOSX)
May 17, 2007
May 17, 2007
291
292
293
IF(UNIX)
IF(NOT BEOS)
IF(NOT MACOSX)
May 10, 2007
May 10, 2007
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
#FIND_PACKAGE(PkgConfig)
#PKGCONFIG(libgtk-2.0 LIBGTK_INCLUDE_DIR LIBGTK_LINK_DIR LIBGTK_LINK_FLAGS LIBGTK_CFLAGS)
# !!! FIXME
SET(LIBGTK_LINK_FLAGS "-lgtk-x11-2.0")
SET(LIBGTK_CFLAGS "-DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12")
IF(NOT LIBGTK_LINK_FLAGS)
MESSAGE(STATUS "Can't find GTK+v2 headers/libraries. Can't build GTK+ GUI.")
ELSE(NOT LIBGTK_LINK_FLAGS)
OPTION(MOJOSETUP_GUI_GTKPLUS2 "Enable GTK+ 2.0 GUI" TRUE)
IF(MOJOSETUP_GUI_GTKPLUS2)
ADD_DEFINITIONS(-DSUPPORT_GUI_GTKPLUS2=1)
#INCLUDE_DIRECTORIES(${LIBGTK_INCLUDE_DIR})
OPTION(MOJOSETUP_GUI_GTKPLUS2_STATIC "Statically link GTK+ GUI" FALSE)
IF(MOJOSETUP_GUI_GTKPLUS2_STATIC)
ADD_DEFINITIONS(-DGUI_STATIC_LINK_GTKPLUS2=1 ${LIBGTK_CFLAGS})
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} gui_gtkplus2.c)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${LIBGTK_LINK_FLAGS})
ELSE(MOJOSETUP_GUI_GTKPLUS2_STATIC)
May 18, 2007
May 18, 2007
312
ADD_LIBRARY(mojosetupgui_gtkplus2 SHARED gui_gtkplus2.c)
May 10, 2007
May 10, 2007
313
ADD_DEFINITIONS(${LIBGTK_CFLAGS})
May 18, 2007
May 18, 2007
314
TARGET_LINK_LIBRARIES(mojosetupgui_gtkplus2 ${LIBGTK_LINK_FLAGS})
May 10, 2007
May 10, 2007
315
316
317
ENDIF(MOJOSETUP_GUI_GTKPLUS2_STATIC)
ENDIF(MOJOSETUP_GUI_GTKPLUS2)
ENDIF(NOT LIBGTK_LINK_FLAGS)
May 17, 2007
May 17, 2007
318
319
320
ENDIF(NOT MACOSX)
ENDIF(NOT BEOS)
ENDIF(UNIX)
Dec 7, 2006
Dec 7, 2006
321
May 9, 2007
May 9, 2007
322
323
324
# Archivers...
May 9, 2007
May 9, 2007
325
# BINARY SIZE += 8
Dec 7, 2006
Dec 7, 2006
326
327
328
OPTION(MOJOSETUP_ARCHIVE_ZIP "Enable ZIP support" TRUE)
IF(MOJOSETUP_ARCHIVE_ZIP)
ADD_DEFINITIONS(-DSUPPORT_ZIP=1)
May 4, 2007
May 4, 2007
329
SET(MOJOSETUP_NEED_ZLIB TRUE)
Dec 7, 2006
Dec 7, 2006
330
331
ENDIF(MOJOSETUP_ARCHIVE_ZIP)
May 9, 2007
May 9, 2007
332
# BINARY SIZE += 2
May 4, 2007
May 4, 2007
333
334
335
OPTION(MOJOSETUP_ARCHIVE_TAR "Enable TAR support" TRUE)
IF(MOJOSETUP_ARCHIVE_TAR)
ADD_DEFINITIONS(-DSUPPORT_TAR=1)
May 9, 2007
May 9, 2007
336
337
# BINARY SIZE += 1.5
May 4, 2007
May 4, 2007
338
339
340
341
342
343
OPTION(MOJOSETUP_ARCHIVE_TAR_GZ "Enable TAR.GZ support" TRUE)
IF(MOJOSETUP_ARCHIVE_TAR_GZ)
ADD_DEFINITIONS(-DSUPPORT_TAR_GZ=1)
SET(MOJOSETUP_NEED_ZLIB TRUE)
ENDIF(MOJOSETUP_ARCHIVE_TAR_GZ)
May 9, 2007
May 9, 2007
344
# BINARY SIZE += 1.5
May 4, 2007
May 4, 2007
345
346
347
348
349
350
351
OPTION(MOJOSETUP_ARCHIVE_TAR_BZ2 "Enable TAR.BZ2 support" TRUE)
IF(MOJOSETUP_ARCHIVE_TAR_BZ2)
ADD_DEFINITIONS(-DSUPPORT_TAR_BZ2=1)
SET(MOJOSETUP_NEED_BZLIB TRUE)
ENDIF(MOJOSETUP_ARCHIVE_TAR_BZ2)
ENDIF(MOJOSETUP_ARCHIVE_TAR)
May 9, 2007
May 9, 2007
352
353
354
# Networking...
May 9, 2007
May 9, 2007
355
# BINARY SIZE += 5 ...plus libfetch
May 6, 2007
May 6, 2007
356
357
358
359
360
361
OPTION(MOJOSETUP_URL_HTTP "Enable http:// support" TRUE)
IF(MOJOSETUP_URL_HTTP)
ADD_DEFINITIONS(-DSUPPORT_URL_HTTP=1)
SET(MOJOSETUP_NEED_LIBFETCH TRUE)
ENDIF(MOJOSETUP_URL_HTTP)
May 9, 2007
May 9, 2007
362
# BINARY SIZE += 9 ...plus libfetch
May 6, 2007
May 6, 2007
363
364
365
366
367
368
OPTION(MOJOSETUP_URL_FTP "Enable ftp:// support" TRUE)
IF(MOJOSETUP_URL_FTP)
ADD_DEFINITIONS(-DSUPPORT_URL_FTP=1)
SET(MOJOSETUP_NEED_LIBFETCH TRUE)
ENDIF(MOJOSETUP_URL_FTP)
May 9, 2007
May 9, 2007
369
# BINARY SIZE += 10
May 6, 2007
May 6, 2007
370
371
IF(MOJOSETUP_NEED_LIBFETCH)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${LIBFETCH_SRCS})
May 8, 2007
May 8, 2007
372
# Had to spin up some threads in libfetch...lame.
May 9, 2007
May 9, 2007
373
374
375
376
# !!! FIXME: CMake will do -lpthread on Mac OS X, but it doesn't need it.
IF(NOT MACOSX)
FIND_PACKAGE(Threads)
ENDIF(NOT MACOSX)
May 8, 2007
May 8, 2007
377
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${CMAKE_THREAD_LIBS_INIT})
May 6, 2007
May 6, 2007
378
379
ENDIF(MOJOSETUP_NEED_LIBFETCH)
May 9, 2007
May 9, 2007
380
381
382
# Middleware...
Dec 7, 2006
Dec 7, 2006
383
384
385
386
387
388
389
390
391
392
393
394
IF(MOJOSETUP_NEED_ZLIB)
SET(HAVE_SYSTEM_ZLIB FALSE)
CHECK_INCLUDE_FILE(zlib.h HAVE_ZLIB_H)
IF(HAVE_ZLIB_H)
CHECK_LIBRARY_EXISTS("z" "inflate" "" HAVE_LIBZ)
IF(HAVE_LIBZ)
SET(HAVE_SYSTEM_ZLIB TRUE)
ENDIF(HAVE_LIBZ)
ENDIF(HAVE_ZLIB_H)
IF(HAVE_SYSTEM_ZLIB)
OPTION(MOJOSETUP_INTERNAL_ZLIB "Link own zlib instead of system library" FALSE)
Dec 8, 2006
Dec 8, 2006
395
396
ELSE(HAVE_SYSTEM_ZLIB)
SET(MOJOSETUP_INTERNAL_ZLIB TRUE)
Dec 7, 2006
Dec 7, 2006
397
398
ENDIF(HAVE_SYSTEM_ZLIB)
May 9, 2007
May 9, 2007
399
# BINARY SIZE += 50
Dec 7, 2006
Dec 7, 2006
400
IF(MOJOSETUP_INTERNAL_ZLIB)
May 4, 2007
May 4, 2007
401
INCLUDE_DIRECTORIES(${ZLIB_DIR})
Dec 7, 2006
Dec 7, 2006
402
403
404
405
406
407
408
ADD_DEFINITIONS(-DZ_PREFIX=1)
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${ZLIB_SRCS})
ELSE(MOJOSETUP_INTERNAL_ZLIB)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} z)
ENDIF(MOJOSETUP_INTERNAL_ZLIB)
ENDIF(MOJOSETUP_NEED_ZLIB)
May 4, 2007
May 4, 2007
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
IF(MOJOSETUP_NEED_BZLIB)
SET(HAVE_SYSTEM_BZLIB FALSE)
CHECK_INCLUDE_FILE(bzlib.h HAVE_BZLIB_H)
IF(HAVE_BZLIB_H)
CHECK_LIBRARY_EXISTS("bz2" "BZ2_bzDecompress" "" HAVE_LIBBZ2)
IF(HAVE_LIBBZ2)
SET(HAVE_SYSTEM_BZLIB TRUE)
ENDIF(HAVE_LIBBZ2)
ENDIF(HAVE_BZLIB_H)
IF(HAVE_SYSTEM_BZLIB)
OPTION(MOJOSETUP_INTERNAL_BZLIB "Link own bzlib instead of system library" FALSE)
ELSE(HAVE_SYSTEM_BZLIB)
SET(MOJOSETUP_INTERNAL_BZLIB TRUE)
ENDIF(HAVE_SYSTEM_BZLIB)
May 9, 2007
May 9, 2007
425
# BINARY SIZE += 46
May 4, 2007
May 4, 2007
426
427
428
429
430
431
432
433
IF(MOJOSETUP_INTERNAL_BZLIB)
INCLUDE_DIRECTORIES(${BZLIB_DIR})
SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${BZLIB_SRCS})
ELSE(MOJOSETUP_INTERNAL_BZLIB)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} bz2)
ENDIF(MOJOSETUP_INTERNAL_BZLIB)
ENDIF(MOJOSETUP_NEED_BZLIB)
Apr 22, 2007
Apr 22, 2007
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
IF(UNIX)
CHECK_INCLUDE_FILE(sys/ucred.h HAVE_UCRED_H)
IF(HAVE_UCRED_H)
ADD_DEFINITIONS(-DMOJOSETUP_HAVE_SYS_UCRED_H=1)
ENDIF(HAVE_UCRED_H)
CHECK_INCLUDE_FILE(mntent.h HAVE_MNTENT_H)
IF(HAVE_MNTENT_H)
ADD_DEFINITIONS(-DMOJOSETUP_HAVE_MNTENT_H=1)
ENDIF(HAVE_MNTENT_H)
IF(NOT MACOSX)
CHECK_LIBRARY_EXISTS("dl" "dlopen" "" HAVE_LIBDL)
IF(HAVE_LIBDL)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} dl)
ENDIF(HAVE_LIBDL)
CHECK_LIBRARY_EXISTS("m" "sin" "" HAVE_LIBM)
IF(HAVE_LIBM)
SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} m)
ENDIF(HAVE_LIBM)
ENDIF(NOT MACOSX)
ENDIF(UNIX)
Dec 8, 2006
Dec 8, 2006
456
Dec 20, 2006
Dec 20, 2006
457
458
459
OPTION(MOJOSETUP_BUILD_LUAC "Build separate Lua compiler" TRUE)
IF(MOJOSETUP_BUILD_LUAC)
ADD_EXECUTABLE(mojoluac ${MOJOLUAC_SRCS})
Dec 27, 2006
Dec 27, 2006
460
TARGET_LINK_LIBRARIES(mojoluac ${OPTIONAL_LIBS})
Dec 20, 2006
Dec 20, 2006
461
462
GET_TARGET_PROPERTY(MOJOLUAC_LOCATION mojoluac LOCATION)
# !!! FIXME: actually compile this.
May 7, 2007
May 7, 2007
463
ADD_CUSTOM_TARGET(lua "${MOJOLUAC_LOCATION}" -p ${CMAKE_CURRENT_SOURCE_DIR}/scripts/*.lua)
Dec 20, 2006
Dec 20, 2006
464
ENDIF(MOJOSETUP_BUILD_LUAC)
Dec 8, 2006
Dec 8, 2006
465
Dec 20, 2006
Dec 20, 2006
466
ADD_EXECUTABLE(mojosetup ${MOJOSETUP_SRCS} ${OPTIONAL_SRCS})
Dec 7, 2006
Dec 7, 2006
467
468
469
TARGET_LINK_LIBRARIES(mojosetup ${OPTIONAL_LIBS})
# end of CMakeLists.txt ...