Skip to content

Commit 3f17076

Browse files
committed
Add simple CMakeLists.txt
1 parent 5b5fbe9 commit 3f17076

File tree

1 file changed

+167
-0
lines changed

1 file changed

+167
-0
lines changed

CMakeLists.txt

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
#
2+
# Simple CMakeLists for Sonic Robo Blast 2
3+
#
4+
# Tweaked for FreeBSD, but should be extendable to support other systems
5+
#
6+
PROJECT(SRB2)
7+
8+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
9+
10+
#
11+
# Dependencies
12+
#
13+
FIND_PACKAGE(SDL)
14+
FIND_PACKAGE(SDL_mixer)
15+
FIND_PACKAGE(PNG)
16+
17+
#
18+
# Common stuff
19+
#
20+
21+
# not added defines:
22+
# -DUSEASM - unportable assembler not needed
23+
# -DHAVE_PNG - does not build (incorrect use of PNG_EXPORT etc.)
24+
ADD_DEFINITIONS(-DDIRECTFULLSCREEN -DSDL -DHAVE_MIXER -DNOHW -DHW3SOUND -DHAVE_BLUA)
25+
26+
SET(SDL_DIR sdl) # may be set to SDL2 optionally
27+
28+
SET(COMMON_SRCS
29+
src/${SDL_DIR}/dosstr.c
30+
src/${SDL_DIR}/endtxt.c
31+
src/${SDL_DIR}/hwsym_sdl.c
32+
src/${SDL_DIR}/i_cdmus.c
33+
src/${SDL_DIR}/i_main.c
34+
src/${SDL_DIR}/i_net.c
35+
src/${SDL_DIR}/i_system.c
36+
src/${SDL_DIR}/i_video.c
37+
src/${SDL_DIR}/mixer_sound.c
38+
src/am_map.c
39+
src/b_bot.c
40+
src/blua/lapi.c
41+
src/blua/lauxlib.c
42+
src/blua/lbaselib.c
43+
src/blua/lcode.c
44+
src/blua/ldebug.c
45+
src/blua/ldo.c
46+
src/blua/ldump.c
47+
src/blua/lfunc.c
48+
src/blua/lgc.c
49+
src/blua/linit.c
50+
src/blua/llex.c
51+
src/blua/lmem.c
52+
src/blua/lobject.c
53+
src/blua/lopcodes.c
54+
src/blua/lparser.c
55+
src/blua/lstate.c
56+
src/blua/lstring.c
57+
src/blua/lstrlib.c
58+
src/blua/ltable.c
59+
src/blua/ltablib.c
60+
src/blua/ltm.c
61+
src/blua/lundump.c
62+
src/blua/lvm.c
63+
src/blua/lzio.c
64+
src/command.c
65+
src/comptime.c
66+
src/console.c
67+
src/d_clisrv.c
68+
src/d_main.c
69+
src/d_net.c
70+
src/d_netcmd.c
71+
src/d_netfil.c
72+
src/dehacked.c
73+
src/f_finale.c
74+
src/f_wipe.c
75+
src/filesrch.c
76+
src/g_game.c
77+
src/g_input.c
78+
src/hardware/hw3sound.c
79+
src/hu_stuff.c
80+
src/i_tcp.c
81+
src/info.c
82+
src/lua_baselib.c
83+
src/lua_consolelib.c
84+
src/lua_hooklib.c
85+
src/lua_hudlib.c
86+
src/lua_infolib.c
87+
src/lua_maplib.c
88+
src/lua_mathlib.c
89+
src/lua_mobjlib.c
90+
src/lua_playerlib.c
91+
src/lua_script.c
92+
src/lua_skinlib.c
93+
src/lua_thinkerlib.c
94+
src/lzf.c
95+
src/m_anigif.c
96+
src/m_argv.c
97+
src/m_bbox.c
98+
src/m_cheat.c
99+
src/m_cond.c
100+
src/m_fixed.c
101+
src/m_menu.c
102+
src/m_misc.c
103+
src/m_queue.c
104+
src/m_random.c
105+
src/md5.c
106+
src/mserv.c
107+
src/p_ceilng.c
108+
src/p_enemy.c
109+
src/p_fab.c
110+
src/p_floor.c
111+
src/p_inter.c
112+
src/p_lights.c
113+
src/p_map.c
114+
src/p_maputl.c
115+
src/p_mobj.c
116+
src/p_polyobj.c
117+
src/p_saveg.c
118+
src/p_setup.c
119+
src/p_sight.c
120+
src/p_spec.c
121+
src/p_telept.c
122+
src/p_tick.c
123+
src/p_user.c
124+
src/r_bsp.c
125+
src/r_data.c
126+
src/r_draw.c
127+
src/r_main.c
128+
src/r_plane.c
129+
src/r_segs.c
130+
src/r_sky.c
131+
src/r_splats.c
132+
src/r_things.c
133+
src/s_sound.c
134+
src/screen.c
135+
src/sounds.c
136+
src/st_stuff.c
137+
src/string.c
138+
src/tables.c
139+
src/v_video.c
140+
src/w_wad.c
141+
src/y_inter.c
142+
src/z_zone.c
143+
)
144+
145+
#
146+
# Platform-specific stuff
147+
#
148+
IF(${CMAKE_SYSTEM} MATCHES "FreeBSD")
149+
FIND_LIBRARY(KVM_LIBRARY NAMES kvm)
150+
IF(KVM_LIBRARY)
151+
MESSAGE(STATUS "Found libkvm: ${KVM_LIBRARY}")
152+
SET(EXTRA_LIBRARIES ${EXTRA_LIBRARIES} ${KVM_LIBRARY})
153+
ELSE(KVM_LIBRARY)
154+
MESSAGE(FATAL_ERROR "Could not find libkvm!")
155+
ENDIF(KVM_LIBRARY)
156+
ADD_DEFINITIONS(-DUNIXCOMMON -DLINUX -DFREEBSD)
157+
ELSE(${CMAKE_SYSTEM} MATCHES "FreeBSD")
158+
ADD_DEFINITIONS(-DUNIXCOMMON -DLINUX)
159+
MESSAGE(WARNING "No specific settings for you system, it may be not supported!")
160+
ENDIF(${CMAKE_SYSTEM} MATCHES "FreeBSD")
161+
162+
#
163+
# Targets
164+
#
165+
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIRS} ${SDL_INCLUDE_DIR} ${SDL_MIXER_INCLUDE_DIRS})
166+
ADD_EXECUTABLE(SRB2 ${COMMON_SRCS})
167+
TARGET_LINK_LIBRARIES(SRB2 ${SDL_LIBRARY} ${SDL_MIXER_LIBRARIES} ${EXTRA_LIBRARIES})

0 commit comments

Comments
 (0)