|
| 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