Chocolate Doom now builds

This commit is contained in:
Alex Mayfield 2018-05-02 21:23:00 -04:00
parent 097f3b07f2
commit f8810f763c
5 changed files with 162 additions and 3 deletions

View file

@ -9,5 +9,7 @@ add_library(opl STATIC
opl_win32.c
ioperm_sys.c ioperm_sys.h
opl3.c opl3.h)
target_include_directories(opl PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
target_include_directories(opl
INTERFACE "."
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
target_link_libraries(opl SDL2::mixer)

View file

@ -5,5 +5,7 @@ add_library(pcsound STATIC
pcsound_linux.c
pcsound_win32.c
pcsound_internal.h)
target_include_directories(pcsound PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
target_include_directories(pcsound
INTERFACE "."
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
target_link_libraries(pcsound SDL2::mixer)

View file

@ -30,3 +30,85 @@ add_executable("${PROGRAM_PREFIX}server" ${COMMON_SOURCE_FILES} ${DEDSERV_FILES}
target_include_directories("${PROGRAM_PREFIX}server"
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
target_link_libraries("${PROGRAM_PREFIX}server" SDL2::SDL2main SDL2::net)
# Source files used by the game binaries (chocolate-doom, etc.)
set(GAME_SOURCE_FILES
aes_prng.c aes_prng.h
d_event.c d_event.h
doomkeys.h
doomtype.h
d_iwad.c d_iwad.h
d_loop.c d_loop.h
d_mode.c d_mode.h
d_ticcmd.h
deh_str.c deh_str.h
gusconf.c gusconf.h
i_cdmus.c i_cdmus.h
i_endoom.c i_endoom.h
i_input.c i_input.h
i_joystick.c i_joystick.h
i_swap.h
i_midipipe.c i_midipipe.h
i_oplmusic.c
i_pcsound.c
i_sdlmusic.c
i_sdlsound.c
i_sound.c i_sound.h
i_timer.c i_timer.h
i_video.c i_video.h
i_videohr.c i_videohr.h
midifile.c midifile.h
mus2mid.c mus2mid.h
m_bbox.c m_bbox.h
m_cheat.c m_cheat.h
m_config.c m_config.h
m_controls.c m_controls.h
m_fixed.c m_fixed.h
net_client.c net_client.h
net_common.c net_common.h
net_dedicated.c net_dedicated.h
net_defs.h
net_gui.c net_gui.h
net_io.c net_io.h
net_loop.c net_loop.h
net_packet.c net_packet.h
net_query.c net_query.h
net_sdl.c net_sdl.h
net_server.c net_server.h
net_structrw.c net_structrw.h
sha1.c sha1.h
memio.c memio.h
tables.c tables.h
v_diskicon.c v_diskicon.h
v_video.c v_video.h
v_patch.h
w_checksum.c w_checksum.h
w_main.c w_main.h
w_wad.c w_wad.h
w_file.c w_file.h
w_file_stdc.c
w_file_posix.c
w_file_win32.c
w_merge.c w_merge.h
z_zone.c z_zone.h)
set(DEHACKED_SOURCE_FILES
deh_defs.h
deh_io.c deh_io.h
deh_main.c deh_main.h
deh_mapping.c deh_mapping.h
deh_text.c)
# Some games support dehacked patches, some don't:
set(SOURCE_FILES ${COMMON_SOURCE_FILES} ${GAME_SOURCE_FILES})
set(SOURCE_FILES_WITH_DEH ${SOURCE_FILES} ${DEHACKED_SOURCE_FILES})
set(EXTRA_LIBS textscreen pcsound opl SDL2::SDL2main SDL2::SDL2 SDL2::mixer SDL2::net)
add_executable("${PROGRAM_PREFIX}doom" ${SOURCE_FILES_WITH_DEH})
target_include_directories("${PROGRAM_PREFIX}doom"
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../")
target_link_libraries("${PROGRAM_PREFIX}doom" doom ${EXTRA_LIBS})

View file

@ -0,0 +1,71 @@
add_library(doom STATIC
am_map.c am_map.h
deh_ammo.c
deh_bexstr.c
deh_cheat.c
deh_doom.c
deh_frame.c
deh_misc.c deh_misc.h
deh_ptr.c
deh_sound.c
deh_thing.c
deh_weapon.c
d_englsh.h
d_items.c d_items.h
d_main.c d_main.h
d_net.c
doomdata.h
doomdef.c doomdef.h
doomstat.c doomstat.h
d_player.h
dstrings.c dstrings.h
d_textur.h
d_think.h
f_finale.c f_finale.h
f_wipe.c f_wipe.h
g_game.c g_game.h
hu_lib.c hu_lib.h
hu_stuff.c hu_stuff.h
info.c info.h
m_menu.c m_menu.h
m_random.c m_random.h
p_ceilng.c
p_doors.c
p_enemy.c
p_floor.c
p_inter.c p_inter.h
p_lights.c
p_local.h
p_map.c
p_maputl.c
p_mobj.c p_mobj.h
p_plats.c
p_pspr.c p_pspr.h
p_saveg.c p_saveg.h
p_setup.c p_setup.h
p_sight.c
p_spec.c p_spec.h
p_switch.c
p_telept.c
p_tick.c p_tick.h
p_user.c
r_bsp.c r_bsp.h
r_data.c r_data.h
r_defs.h
r_draw.c r_draw.h
r_local.h
r_main.c r_main.h
r_plane.c r_plane.h
r_segs.c r_segs.h
r_sky.c r_sky.h
r_state.h
r_things.c r_things.h
s_sound.c s_sound.h
sounds.c sounds.h
statdump.c statdump.h
st_lib.c st_lib.h
st_stuff.c st_stuff.h
wi_stuff.c wi_stuff.h)
target_include_directories(doom PRIVATE "../" "${CMAKE_CURRENT_BINARY_DIR}/../../")
target_link_libraries(doom SDL2::SDL2 SDL2::mixer SDL2::net)

View file

@ -22,5 +22,7 @@ add_library(textscreen
txt_widget.c txt_widget.h
txt_window.c txt_window.h
txt_window_action.c txt_window_action.h)
target_include_directories(textscreen PRIVATE "../src/")
target_include_directories(textscreen
INTERFACE "."
PRIVATE "../src/")
target_link_libraries(textscreen SDL2::SDL2)