From d2de1aa79dc106b68fde8fb80ec5c3873f0dc058 Mon Sep 17 00:00:00 2001 From: Taylor Richards Date: Sat, 20 Sep 2014 13:47:14 -0400 Subject: [PATCH] first pass at a real cleanup of cmake files --- CMakeLists.txt | 148 +++++++---- include/CMakeLists.txt | 283 ++++++++++++++++++++ includes.cmake | 274 -------------------- src/CMakeLists.txt | 570 ++++++++++++++++++++++++----------------- 4 files changed, 725 insertions(+), 550 deletions(-) create mode 100644 include/CMakeLists.txt delete mode 100644 includes.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index b54a95c..2f6a270 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,9 @@ find_package(wxWidgets COMPONENTS core base gl) include(${wxWidgets_USE_FILE}) + +# ############################################################################## + option(FS1 "Build original FreeSpace" OFF) option(DEMO "Create demo build" OFF) @@ -29,6 +32,18 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) endif() +if(FS1) + add_definitions(-DMAKE_FS1) + + if(DEMO) + add_definitions(-DDEMO -DFS1_DEMO) + endif() +else() + if(DEMO) + add_definitions(-DFS2_DEMO) + endif() +endif() + if(NOT WIN32) add_definitions(-DPLAT_UNIX) add_definitions(-Wall -Wno-format-y2k -Wno-deprecated) @@ -40,8 +55,8 @@ if(NOT WIN32) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3") endif() +# ############################################################################## -add_subdirectory(src) include_directories( ${PROJECT_SOURCE_DIR}/include @@ -50,34 +65,46 @@ include_directories( ${wxWidgets_INCLUDE_DIRS} ) -set(fs_SOURCE - src/freespace2/freespace.cpp - src/freespace2/levelpaging.cpp - src/freespace2/main.cpp -) -include(includes.cmake) +add_subdirectory(src) +add_subdirectory(include) + + +# ############################################################################## +# + +# +# main code/game library +# + +add_library(code + STATIC + ${code_SOURCE} + ${code_HEADERS} +) -set(FS_BINARY freespace2) +# +# the game itself +# if(FS1) - add_definitions(-DMAKE_FS1) if(DEMO) - add_definitions(-DDEMO -DFS1_DEMO) set(FS_BINARY freespace_demo) else() set(FS_BINARY freespace) endif() else() if(DEMO) - add_definitions(-DFS2_DEMO) set(FS_BINARY freespace2_demo) else() - set(FS_BINARY freespace2) + set(FS_BINARY freespace2) endif() endif() -add_executable(${FS_BINARY} ${fs_SOURCE} ${fs_INCLUDES}) +add_executable(${FS_BINARY} + ${freespace_SOURCE} + ${freespace_HEADERS} +) target_link_libraries( ${FS_BINARY} @@ -87,11 +114,22 @@ target_link_libraries( ${OPENAL_LIBRARY} ) +# +# ############################################################################## + +# ############################################################################## +# +# toolset: targets for creating/modifying game assets +# + +# +# AC: anim converter +# + add_executable(ac EXCLUDE_FROM_ALL - src/ac/ac.cpp - src/ac/ac_stubs.cpp - src/ac/convert.cpp + ${ac_SOURCE} + ${ac_HEADERS} ) target_link_libraries( @@ -102,20 +140,31 @@ target_link_libraries( ${OPENAL_LIBRARY} ) +# +# CFILEARCHIVER: to create VP file archives +# + add_executable(cfilearchiver EXCLUDE_FROM_ALL - src/cfilearchiver/cfilearchiver.cpp + ${cfilearchiver_SOURCE} ) +# +# CRYPTSTRING: string encryption (for embedded cheat codes) +# + add_executable(cryptstring EXCLUDE_FROM_ALL - src/cryptstring/cryptstring.cpp + ${cryptstring_SOURCE} ) +# +# NEBEDIT: FS1 style nebula editor/creator +# + add_executable(nebedit EXCLUDE_FROM_ALL - src/nebedit/nebedit.cpp - src/nebedit/nebstubs.cpp + ${nebedit_SOURCE} ) target_link_libraries( @@ -127,24 +176,14 @@ target_link_libraries( ${wxWidgets_LIBRARIES} ) +# +# POFVIEW: model viewer +# + add_executable(pofview EXCLUDE_FROM_ALL - src/pofview/pofview.cpp - src/pofview/pofviewdialogs.cpp - src/pofview/pofviewcanvas.cpp - src/pofview/pofviewstubs.cpp - src/pofview/res/pofview_ico.xpm - src/pofview/res/tool_about.xpm - src/pofview/res/tool_damaged.xpm - src/pofview/res/tool_debris.xpm - src/pofview/res/tool_detail1.xpm - src/pofview/res/tool_detail2.xpm - src/pofview/res/tool_detail3.xpm - src/pofview/res/tool_detail4.xpm - src/pofview/res/tool_detail5.xpm - src/pofview/res/tool_detail6.xpm - src/pofview/res/tool_lights.xpm - src/pofview/res/tool_tree.xpm + ${pofview_SOURCE} + ${pofview_HEADERS} ) target_link_libraries( @@ -156,25 +195,32 @@ target_link_libraries( ${wxWidgets_LIBRARIES} ) +# wxWidgets appears to need c++11 for one or more headers if(NOT WIN32) set_target_properties(pofview PROPERTIES COMPILE_FLAGS -std=c++11) endif() +# +# SCRAMBLE: file-based encryption for TBLs +# + add_executable(scramble EXCLUDE_FROM_ALL - src/parse/encrypt.cpp - src/scramble/scramble.cpp + ${scramble_SOURCE} + ${scramble_HEADERS} ) +# +# FONTTOOL: create font files / edit kerning data +# + add_executable(fonttool EXCLUDE_FROM_ALL - src/fonttool/fontstubs.cpp - src/fonttool/fontcreate.cpp - src/fonttool/fontkern.cpp - src/fonttool/fontkerncopy.cpp - src/fonttool/fonttool.cpp + ${fonttool_SOURCE} + ${fonttool_HEADERS} ) +# background setup, to allow running from build location without installing add_custom_command(TARGET fonttool POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/src/fonttool" @@ -189,15 +235,27 @@ target_link_libraries( ${OPENAL_LIBRARY} ) +# +# custom target to build all tools in one pass +# + add_custom_target(tools) add_dependencies(tools ac - nebedit cfilearchiver - scramble cryptstring + nebedit + pofview + scramble fonttool ) +# +# ############################################################################## + +# +# optionally include any dev/user preferred build commands and/or options +# + include(custom.cmake OPTIONAL) diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt new file mode 100644 index 0000000..433686d --- /dev/null +++ b/include/CMakeLists.txt @@ -0,0 +1,283 @@ + +# ############################################################################## +# + +# +# main code/game library +# + +set(code_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/2d.h + ${CMAKE_CURRENT_SOURCE_DIR}/3d.h + ${CMAKE_CURRENT_SOURCE_DIR}/3dinternal.h + ${CMAKE_CURRENT_SOURCE_DIR}/acm.h + ${CMAKE_CURRENT_SOURCE_DIR}/afterburner.h + ${CMAKE_CURRENT_SOURCE_DIR}/aibig.h + ${CMAKE_CURRENT_SOURCE_DIR}/aigoals.h + ${CMAKE_CURRENT_SOURCE_DIR}/ai.h + ${CMAKE_CURRENT_SOURCE_DIR}/ailocal.h + ${CMAKE_CURRENT_SOURCE_DIR}/alphacolors.h + ${CMAKE_CURRENT_SOURCE_DIR}/animplay.h + ${CMAKE_CURRENT_SOURCE_DIR}/asteroid.h + ${CMAKE_CURRENT_SOURCE_DIR}/audiostr.h + ${CMAKE_CURRENT_SOURCE_DIR}/awacs.h + ${CMAKE_CURRENT_SOURCE_DIR}/barracks.h + ${CMAKE_CURRENT_SOURCE_DIR}/beam.h + ${CMAKE_CURRENT_SOURCE_DIR}/bmpman.h + ${CMAKE_CURRENT_SOURCE_DIR}/cfilearchive.h + ${CMAKE_CURRENT_SOURCE_DIR}/cfile.h + ${CMAKE_CURRENT_SOURCE_DIR}/cfilesystem.h + ${CMAKE_CURRENT_SOURCE_DIR}/cftp.h + ${CMAKE_CURRENT_SOURCE_DIR}/chatbox.h + ${CMAKE_CURRENT_SOURCE_DIR}/chttpget.h + ${CMAKE_CURRENT_SOURCE_DIR}/cmdline.h + ${CMAKE_CURRENT_SOURCE_DIR}/cmeasure.h + ${CMAKE_CURRENT_SOURCE_DIR}/codec1.h + ${CMAKE_CURRENT_SOURCE_DIR}/contexthelp.h + ${CMAKE_CURRENT_SOURCE_DIR}/controlsconfig.h + ${CMAKE_CURRENT_SOURCE_DIR}/corkscrew.h + ${CMAKE_CURRENT_SOURCE_DIR}/credits.h + ${CMAKE_CURRENT_SOURCE_DIR}/crypt.h + ${CMAKE_CURRENT_SOURCE_DIR}/cutscenes.h + ${CMAKE_CURRENT_SOURCE_DIR}/debris.h + ${CMAKE_CURRENT_SOURCE_DIR}/demo.h + ${CMAKE_CURRENT_SOURCE_DIR}/dumpstats.h + ${CMAKE_CURRENT_SOURCE_DIR}/editor.h + ${CMAKE_CURRENT_SOURCE_DIR}/emp.h + ${CMAKE_CURRENT_SOURCE_DIR}/encrypt.h + ${CMAKE_CURRENT_SOURCE_DIR}/eventmusic.h + ${CMAKE_CURRENT_SOURCE_DIR}/exceptionhandler.h + ${CMAKE_CURRENT_SOURCE_DIR}/fhash.h + ${CMAKE_CURRENT_SOURCE_DIR}/fireballs.h + ${CMAKE_CURRENT_SOURCE_DIR}/fishtank.h + ${CMAKE_CURRENT_SOURCE_DIR}/fix.h + ${CMAKE_CURRENT_SOURCE_DIR}/flak.h + ${CMAKE_CURRENT_SOURCE_DIR}/floating.h + ${CMAKE_CURRENT_SOURCE_DIR}/font.h + ${CMAKE_CURRENT_SOURCE_DIR}/fvi.h + ${CMAKE_CURRENT_SOURCE_DIR}/gameplayhelp.h + ${CMAKE_CURRENT_SOURCE_DIR}/gamesequence.h + ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd.h + ${CMAKE_CURRENT_SOURCE_DIR}/grinternal.h + ${CMAKE_CURRENT_SOURCE_DIR}/grgl1.h + ${CMAKE_CURRENT_SOURCE_DIR}/gropengl.h + ${CMAKE_CURRENT_SOURCE_DIR}/gropenglinternal.h + ${CMAKE_CURRENT_SOURCE_DIR}/grwxgl.h + ${CMAKE_CURRENT_SOURCE_DIR}/helpeddoc.h + ${CMAKE_CURRENT_SOURCE_DIR}/helped.h + ${CMAKE_CURRENT_SOURCE_DIR}/helpedline.h + ${CMAKE_CURRENT_SOURCE_DIR}/helpedview.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudartillery.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudbrackets.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudconfig.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudescort.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudets.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudgauges.h + ${CMAKE_CURRENT_SOURCE_DIR}/hud.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudlock.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudmessage.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudobserver.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudresource.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudreticle.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudshield.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudsquadmsg.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudtargetbox.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudtarget.h + ${CMAKE_CURRENT_SOURCE_DIR}/hudwingmanstatus.h + ${CMAKE_CURRENT_SOURCE_DIR}/inetgetfile.h + ${CMAKE_CURRENT_SOURCE_DIR}/initialships.h + ${CMAKE_CURRENT_SOURCE_DIR}/initialstatus.h + ${CMAKE_CURRENT_SOURCE_DIR}/joy_ff.h + ${CMAKE_CURRENT_SOURCE_DIR}/joy.h + ${CMAKE_CURRENT_SOURCE_DIR}/jumpnode.h + ${CMAKE_CURRENT_SOURCE_DIR}/keycontrol.h + ${CMAKE_CURRENT_SOURCE_DIR}/key.h + ${CMAKE_CURRENT_SOURCE_DIR}/lighting.h + ${CMAKE_CURRENT_SOURCE_DIR}/line.h + ${CMAKE_CURRENT_SOURCE_DIR}/linklist.h + ${CMAKE_CURRENT_SOURCE_DIR}/localize.h + ${CMAKE_CURRENT_SOURCE_DIR}/mainhallmenu.h + ${CMAKE_CURRENT_SOURCE_DIR}/mainhalltemp.h + ${CMAKE_CURRENT_SOURCE_DIR}/managepilot.h + ${CMAKE_CURRENT_SOURCE_DIR}/medals.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionbriefcommon.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionbrief.h + ${CMAKE_CURRENT_SOURCE_DIR}/missioncampaign.h + ${CMAKE_CURRENT_SOURCE_DIR}/missioncmdbrief.h + ${CMAKE_CURRENT_SOURCE_DIR}/missiondebrief.h + ${CMAKE_CURRENT_SOURCE_DIR}/missiongoals.h + ${CMAKE_CURRENT_SOURCE_DIR}/missiongrid.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionhotkey.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionload.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionlog.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionloopbrief.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionmessage.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionparse.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionpause.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionrecommend.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionscreencommon.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionshipchoice.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionstats.h + ${CMAKE_CURRENT_SOURCE_DIR}/missiontraining.h + ${CMAKE_CURRENT_SOURCE_DIR}/missionweaponchoice.h + ${CMAKE_CURRENT_SOURCE_DIR}/model.h + ${CMAKE_CURRENT_SOURCE_DIR}/modelsinc.h + ${CMAKE_CURRENT_SOURCE_DIR}/monopub.h + ${CMAKE_CURRENT_SOURCE_DIR}/mouse.h + ${CMAKE_CURRENT_SOURCE_DIR}/movie.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_campaign.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_data.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_dogfight.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_endgame.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_ingame.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_kick.h + ${CMAKE_CURRENT_SOURCE_DIR}/multilag.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_log.h + ${CMAKE_CURRENT_SOURCE_DIR}/multimsgs.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_obj.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_observer.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_oo.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_options.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_pause.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_pinfo.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_ping.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_pmsg.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_rate.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_respawn.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_team.h + ${CMAKE_CURRENT_SOURCE_DIR}/multiteamselect.h + ${CMAKE_CURRENT_SOURCE_DIR}/multiui.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_update.h + ${CMAKE_CURRENT_SOURCE_DIR}/multiutil.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_voice.h + ${CMAKE_CURRENT_SOURCE_DIR}/multi_xfer.h + ${CMAKE_CURRENT_SOURCE_DIR}/muzzleflash.h + ${CMAKE_CURRENT_SOURCE_DIR}/mvelib.h + ${CMAKE_CURRENT_SOURCE_DIR}/neb.h + ${CMAKE_CURRENT_SOURCE_DIR}/neblightning.h + ${CMAKE_CURRENT_SOURCE_DIR}/nebula.h + ${CMAKE_CURRENT_SOURCE_DIR}/oal_capture.h + ${CMAKE_CURRENT_SOURCE_DIR}/oal_efx.h + ${CMAKE_CURRENT_SOURCE_DIR}/oal.h + ${CMAKE_CURRENT_SOURCE_DIR}/objcollide.h + ${CMAKE_CURRENT_SOURCE_DIR}/object.h + ${CMAKE_CURRENT_SOURCE_DIR}/objectsnd.h + ${CMAKE_CURRENT_SOURCE_DIR}/observer.h + ${CMAKE_CURRENT_SOURCE_DIR}/optionsmenu.h + ${CMAKE_CURRENT_SOURCE_DIR}/optionsmenumulti.h + ${CMAKE_CURRENT_SOURCE_DIR}/osapi.h + ${CMAKE_CURRENT_SOURCE_DIR}/osregistry.h + ${CMAKE_CURRENT_SOURCE_DIR}/outwnd.h + ${CMAKE_CURRENT_SOURCE_DIR}/packunpack.h + ${CMAKE_CURRENT_SOURCE_DIR}/palman.h + ${CMAKE_CURRENT_SOURCE_DIR}/parselo.h + ${CMAKE_CURRENT_SOURCE_DIR}/particle.h + ${CMAKE_CURRENT_SOURCE_DIR}/pcxutils.h + ${CMAKE_CURRENT_SOURCE_DIR}/physics.h + ${CMAKE_CURRENT_SOURCE_DIR}/player.h + ${CMAKE_CURRENT_SOURCE_DIR}/playermenu.h + ${CMAKE_CURRENT_SOURCE_DIR}/pofview.h + ${CMAKE_CURRENT_SOURCE_DIR}/popupdead.h + ${CMAKE_CURRENT_SOURCE_DIR}/popup.h + ${CMAKE_CURRENT_SOURCE_DIR}/psnet2.h + ${CMAKE_CURRENT_SOURCE_DIR}/psnet.h + ${CMAKE_CURRENT_SOURCE_DIR}/pstypes.h + ${CMAKE_CURRENT_SOURCE_DIR}/radar.h + ${CMAKE_CURRENT_SOURCE_DIR}/readyroom.h + ${CMAKE_CURRENT_SOURCE_DIR}/rect.h + ${CMAKE_CURRENT_SOURCE_DIR}/redalert.h + ${CMAKE_CURRENT_SOURCE_DIR}/resource.h + ${CMAKE_CURRENT_SOURCE_DIR}/rtvoice.h + ${CMAKE_CURRENT_SOURCE_DIR}/scoring.h + ${CMAKE_CURRENT_SOURCE_DIR}/sexp.h + ${CMAKE_CURRENT_SOURCE_DIR}/sexp_tree.h + ${CMAKE_CURRENT_SOURCE_DIR}/shipcontrails.h + ${CMAKE_CURRENT_SOURCE_DIR}/shipfx.h + ${CMAKE_CURRENT_SOURCE_DIR}/ship.h + ${CMAKE_CURRENT_SOURCE_DIR}/shiphit.h + ${CMAKE_CURRENT_SOURCE_DIR}/shipspecialdamage.h + ${CMAKE_CURRENT_SOURCE_DIR}/shockwave.h + ${CMAKE_CURRENT_SOURCE_DIR}/snazzyui.h + ${CMAKE_CURRENT_SOURCE_DIR}/sound.h + ${CMAKE_CURRENT_SOURCE_DIR}/spline.h + ${CMAKE_CURRENT_SOURCE_DIR}/stand_gui.h + ${CMAKE_CURRENT_SOURCE_DIR}/starfield.h + ${CMAKE_CURRENT_SOURCE_DIR}/staticrand.h + ${CMAKE_CURRENT_SOURCE_DIR}/stats.h + ${CMAKE_CURRENT_SOURCE_DIR}/subsysdamage.h + ${CMAKE_CURRENT_SOURCE_DIR}/supernova.h + ${CMAKE_CURRENT_SOURCE_DIR}/swarm.h + ${CMAKE_CURRENT_SOURCE_DIR}/systemvars.h + ${CMAKE_CURRENT_SOURCE_DIR}/techmenu.h + ${CMAKE_CURRENT_SOURCE_DIR}/tga.h + ${CMAKE_CURRENT_SOURCE_DIR}/tgautils.h + ${CMAKE_CURRENT_SOURCE_DIR}/timer.h + ${CMAKE_CURRENT_SOURCE_DIR}/tmapper.h + ${CMAKE_CURRENT_SOURCE_DIR}/trails.h + ${CMAKE_CURRENT_SOURCE_DIR}/trainingmenu.h + ${CMAKE_CURRENT_SOURCE_DIR}/uidefs.h + ${CMAKE_CURRENT_SOURCE_DIR}/ui.h + ${CMAKE_CURRENT_SOURCE_DIR}/vecmat.h + ${CMAKE_CURRENT_SOURCE_DIR}/version.h + ${CMAKE_CURRENT_SOURCE_DIR}/weapon.h + PARENT_SCOPE +) + +# +# the game itself +# + +set(freespace_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/freespace.h + ${CMAKE_CURRENT_SOURCE_DIR}/levelpaging.h + PARENT_SCOPE +) + +# +# ############################################################################## + +# ############################################################################## +# +# toolset +# + +# +# AC: anim converter +# + +set(ac_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/ac.h + ${CMAKE_CURRENT_SOURCE_DIR}/convert.h + PARENT_SCOPE +) + +# +# POFVIEW: model viewer +# + +set(pofview_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/pofview.h + PARENT_SCOPE +) + +# +# SCRAMBLE: file-based encryption for TBLs +# + +set(scramble_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/scramble.h + PARENT_SCOPE +) + +# +# FONTTOOL: create font files / edit kerning data +# + +set(fonttool_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/fonttool.h + PARENT_SCOPE +) + +# +# ############################################################################## diff --git a/includes.cmake b/includes.cmake deleted file mode 100644 index c18d5ea..0000000 --- a/includes.cmake +++ /dev/null @@ -1,274 +0,0 @@ - -set(fs_INCLUDES - include/2d.h - include/3dfx.h - include/3d.h - include/3dinternal.h - include/ac.h - include/acm.h - include/addvariabledlg.h - include/adjustgriddlg.h - include/afterburner.h - include/aibig.h - include/aigoals.h - include/ai.h - include/ailocal.h - include/alphacolors.h - include/animplay.h - include/asteroideditordlg.h - include/asteroid.h - include/audiostr.h - include/awacs.h - include/barracks.h - include/beam.h - include/bgbitmapdlg.h - include/bmpman.h - include/briefingeditordlg.h - include/campaigneditordlg.h - include/campaignfilelistbox.h - include/campaigntreeview.h - include/campaigntreewnd.h - include/cfilearchive.h - include/cfile.h - include/cfilesystem.h - include/cftp.h - include/chatbox.h - include/childfrm.h - include/chttpget.h - include/cmdbrief.h - include/cmdline.h - include/cmeasure.h - include/codec1.h - include/contexthelp.h - include/controlsconfig.h - include/convert.h - include/corkscrew.h - include/createwingdlg.h - include/credits.h - include/crypt.h - include/cutscenes.h - include/debriefingeditordlg.h - include/debris.h - include/demo.h - include/dialog1.h - include/dumpstats.h - include/editor.h - include/emp.h - include/encrypt.h - include/eventeditor.h - include/eventmusic.h - include/exceptionhandler.h - include/fhash.h - include/fireballs.h - include/fishtank.h - include/fix.h - include/flak.h - include/floating.h - include/font.h - include/fonttool.h - include/freddoc.h - include/fred.h - include/fredrender.h - include/fredview.h - include/freespace.h - include/freespaceresource.h - include/fvi.h - include/gameplayhelp.h - include/gamesequence.h - include/gamesnd.h - include/grid.h - include/grinternal.h - include/grgl1.h - include/gropengl.h - include/gropenglinternal.h - include/grwxgl.h - include/helpeddoc.h - include/helped.h - include/helpedline.h - include/helpedview.h - include/hudartillery.h - include/hudbrackets.h - include/hudconfig.h - include/hudescort.h - include/hudets.h - include/hudgauges.h - include/hud.h - include/hudlock.h - include/hudmessage.h - include/hudobserver.h - include/hudresource.h - include/hudreticle.h - include/hudshield.h - include/hudsquadmsg.h - include/hudtargetbox.h - include/hudtarget.h - include/hudwingmanstatus.h - include/ignoreordersdlg.h - include/inetgetfile.h - include/initialships.h - include/initialstatus.h - include/joy_ff.h - include/joy.h - include/jumpnode.h - include/keycontrol.h - include/key.h - include/levelpaging.h - include/lighting.h - include/line.h - include/linklist.h - include/localize.h - include/mainfrm.h - include/mainhallmenu.h - include/mainhalltemp.h - include/management.h - include/managepilot.h - include/medals.h - include/messageeditordlg.h - include/missionbriefcommon.h - include/missionbrief.h - include/missioncampaign.h - include/missioncmdbrief.h - include/missiondebrief.h - include/missiongoalsdlg.h - include/missiongoals.h - include/missiongrid.h - include/missionhotkey.h - include/missionload.h - include/missionlog.h - include/missionloopbrief.h - include/missionmessage.h - include/missionnotesdlg.h - include/missionparse.h - include/missionpause.h - include/missionrecommend.h - include/missionsave.h - include/missionscreencommon.h - include/missionshipchoice.h - include/missionstats.h - include/missiontraining.h - include/missionweaponchoice.h - include/model.h - include/modelsinc.h - include/modifyvariabledlg.h - include/monopub.h - include/mouse.h - include/movie.h - include/multi_campaign.h - include/multi_data.h - include/multi_dogfight.h - include/multi_endgame.h - include/multi.h - include/multi_ingame.h - include/multi_kick.h - include/multilag.h - include/multi_log.h - include/multimsgs.h - include/multi_obj.h - include/multi_observer.h - include/multi_oo.h - include/multi_options.h - include/multi_pause.h - include/multi_pinfo.h - include/multi_ping.h - include/multi_pmsg.h - include/multi_rate.h - include/multi_respawn.h - include/multi_team.h - include/multiteamselect.h - include/multiui.h - include/multi_update.h - include/multiutil.h - include/multi_voice.h - include/multi_xfer.h - include/muzzleflash.h - include/mvelib.h - include/neb.h - include/neblightning.h - include/nebula.h - include/oal_capture.h - include/oal_efx.h - include/oal.h - include/objcollide.h - include/object.h - include/objectsnd.h - include/observer.h - include/operatorargtypeselect.h - include/optionsmenu.h - include/optionsmenumulti.h - include/orienteditor.h - include/osapi.h - include/osregistry.h - include/outwnd.h - include/packunpack.h - include/palman.h - include/parselo.h - include/particle.h - include/pcxutils.h - include/physics.h - include/player.h - include/playermenu.h - include/playerstarteditor.h - include/pofview.h - include/popupdead.h - include/popup.h - include/prefsdlg.h - include/psnet2.h - include/psnet.h - include/pstypes.h - include/radar.h - include/readyroom.h - include/rect.h - include/redalert.h - include/reinforcementeditordlg.h - include/resource.h - include/rtvoice.h - include/scoring.h - include/scramble.h - include/sexp.h - include/sexp_tree.h - include/shieldsysdlg.h - include/shipchecklistbox.h - include/shipclasseditordlg.h - include/shipcontrails.h - include/shipeditordlg.h - include/shipflagsdlg.h - include/shipfx.h - include/shipgoalsdlg.h - include/ship.h - include/shiphit.h - include/ship_select.h - include/shipspecialdamage.h - include/shockwave.h - include/snazzyui.h - include/sound.h - include/spline.h - include/stand_gui.h - include/starfieldeditor.h - include/starfield.h - include/staticrand.h - include/stats.h - include/stdafx.h - include/subsysdamage.h - include/supernova.h - include/swarm.h - include/systemvars.h - include/techmenu.h - include/textviewdlg.h - include/tga.h - include/tgautils.h - include/timer.h - include/tmapper.h - include/trails.h - include/trainingmenu.h - include/uidefs.h - include/ui.h - include/unix.h - include/vecmat.h - include/version.h - include/waypointpathdlg.h - include/weaponeditordlg.h - include/weapon.h - include/wing_editor.h - include/wing.h -) - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7204930..1731fb1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,245 +1,353 @@ -include_directories( - ${PROJECT_SOURCE_DIR}/include - ${SDL2_INCLUDE_DIRS} - ${OPENAL_INCLUDE_DIR} -) + +# ############################################################################## +# + +# +# main code/game library +# set(code_SOURCE - anim/animplay.cpp - anim/packunpack.cpp - asteroid/asteroid.cpp - bmpman/bmpman.cpp - cfile/cfile.cpp - cfile/cfilearchive.cpp - cfile/cfilelist.cpp - cfile/cfilesystem.cpp - cmdline/cmdline.cpp - cmeasure/cmeasure.cpp - controlconfig/controlsconfig.cpp - controlconfig/controlsconfigcommon.cpp - cutscene/cutscenes.cpp - debris/debris.cpp - debugconsole/console.cpp - demo/demo.cpp - fireball/fireballs.cpp - fireball/warpineffect.cpp - gamehelp/contexthelp.cpp - gamehelp/gameplayhelp.cpp - gamesequence/gamesequence.cpp - gamesnd/eventmusic.cpp - gamesnd/gamesnd.cpp - globalincs/alphacolors.cpp - globalincs/crypt.cpp - globalincs/systemvars.cpp - globalincs/version.cpp - graphics/2d.cpp - graphics/font.cpp - graphics/grgl1.cpp - graphics/grgl1render.cpp - graphics/grgl1texture.cpp - graphics/gropengl.cpp - graphics/grwxgl.cpp - hud/hud.cpp - hud/hudartillery.cpp - hud/hudbrackets.cpp - hud/hudconfig.cpp - hud/hudescort.cpp - hud/hudets.cpp - hud/hudlock.cpp - hud/hudmessage.cpp - hud/hudobserver.cpp - hud/hudreticle.cpp - hud/hudshield.cpp - hud/hudsquadmsg.cpp - hud/hudtarget.cpp - hud/hudtargetbox.cpp - hud/hudwingmanstatus.cpp - inetfile/cftp.cpp - inetfile/chttpget.cpp - inetfile/inetgetfile.cpp - io/joy.cpp - io/joy_ff.cpp - io/key.cpp - io/keycontrol.cpp - io/mouse.cpp - io/timer.cpp - jumpnode/jumpnode.cpp - lighting/lighting.cpp - localization/fhash.cpp - localization/localize.cpp - localization/strings_tbl_fs1.cpp - math/fix.cpp - math/floating.cpp - math/fvi.cpp - math/spline.cpp - math/staticrand.cpp - math/vecmat.cpp - menuui/barracks.cpp - menuui/credits.cpp - menuui/fishtank.cpp - menuui/mainhallmenu.cpp - menuui/mainhalltemp.cpp - menuui/optionsmenu.cpp - menuui/optionsmenumulti.cpp - menuui/playermenu.cpp - menuui/readyroom.cpp - menuui/snazzyui.cpp - menuui/techmenu.cpp - menuui/trainingmenu.cpp - mission/missionbriefcommon.cpp - mission/missioncampaign.cpp - mission/missiongoals.cpp - mission/missiongrid.cpp - mission/missionhotkey.cpp - mission/missionload.cpp - mission/missionlog.cpp - mission/missionmessage.cpp - mission/missionparse.cpp - mission/missiontraining.cpp - missionui/chatbox.cpp - missionui/missionbrief.cpp - missionui/missioncmdbrief.cpp - missionui/missiondebrief.cpp - missionui/missionloopbrief.cpp - missionui/missionpause.cpp - missionui/missionrecommend.cpp - missionui/missionscreencommon.cpp - missionui/missionshipchoice.cpp - missionui/missionstats.cpp - missionui/missionweaponchoice.cpp - missionui/redalert.cpp - model/modelcollide.cpp - model/modelinterp.cpp - model/modeloctant.cpp - model/modelread.cpp - movie/decoder16.cpp - movie/movie.cpp - movie/mve_audio.cpp - movie/mvelib.cpp - movie/mveplayer.cpp - nebula/neb.cpp - nebula/neblightning.cpp - network/multi.cpp - network/multi_campaign.cpp - network/multi_data.cpp - network/multi_dogfight.cpp - network/multi_endgame.cpp - network/multi_ingame.cpp - network/multi_kick.cpp - network/multi_log.cpp - network/multi_obj.cpp - network/multi_observer.cpp - network/multi_oo.cpp - network/multi_options.cpp - network/multi_pause.cpp - network/multi_pinfo.cpp - network/multi_ping.cpp - network/multi_pmsg.cpp - network/multi_rate.cpp - network/multi_respawn.cpp - network/multi_team.cpp - network/multi_update.cpp - network/multi_voice.cpp - network/multi_xfer.cpp - network/multilag.cpp - network/multimsgs.cpp - network/multiteamselect.cpp - network/multiui.cpp - network/multiutil.cpp - network/psnet.cpp - network/psnet2.cpp - object/collidedebrisship.cpp - object/collidedebrisweapon.cpp - object/collideshipship.cpp - object/collideshipweapon.cpp - object/collideweaponweapon.cpp - object/objcollide.cpp - object/object.cpp - object/objectsnd.cpp - object/objectsort.cpp - observer/observer.cpp - osapi/osapi.cpp - osapi/osregistry.cpp - osapi/outwnd.cpp - palman/palman.cpp - parse/encrypt.cpp - parse/parselo.cpp - parse/sexp.cpp - particle/particle.cpp - pcxutils/pcxutils.cpp - physics/physics.cpp - playerman/managepilot.cpp - playerman/playercontrol.cpp - popup/popup.cpp - popup/popupdead.cpp - radar/radar.cpp - render/3dclipper.cpp - render/3ddraw.cpp - render/3dlaser.cpp - render/3dmath.cpp - render/3dsetup.cpp - ship/afterburner.cpp - ship/ai.cpp - ship/aibig.cpp - ship/aicode.cpp - ship/aigoals.cpp - ship/awacs.cpp - ship/shield.cpp - ship/ship.cpp - ship/shipcontrails.cpp - ship/shipfx.cpp - ship/shiphit.cpp - sound/acm.cpp - sound/audiostr.cpp - sound/oal.cpp - sound/oal_capture.cpp - sound/oal_efx.cpp - sound/rtvoice.cpp - sound/sound.cpp - starfield/nebula.cpp - starfield/starfield.cpp - starfield/supernova.cpp - stats/medals.cpp - stats/scoring.cpp - stats/stats.cpp - tgautils/tgautils.cpp - ui/button.cpp - ui/checkbox.cpp - ui/gadget.cpp - ui/icon.cpp - ui/inputbox.cpp - ui/keytrap.cpp - ui/listbox.cpp - ui/radio.cpp - ui/scroll.cpp - ui/slider.cpp - ui/slider2.cpp - ui/uidraw.cpp - ui/uimouse.cpp - ui/window.cpp - vcodec/codec1.cpp - weapon/beam.cpp - weapon/corkscrew.cpp - weapon/emp.cpp - weapon/flak.cpp - weapon/muzzleflash.cpp - weapon/shockwave.cpp - weapon/swarm.cpp - weapon/trails.cpp - weapon/weapons.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/anim/animplay.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/anim/packunpack.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/asteroid/asteroid.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/bmpman/bmpman.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfile.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilearchive.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilelist.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilesystem.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cmdline/cmdline.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cmeasure/cmeasure.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/controlconfig/controlsconfig.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/controlconfig/controlsconfigcommon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/cutscenes.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/debris/debris.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/debugconsole/console.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/demo/demo.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fireball/fireballs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fireball/warpineffect.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/gamehelp/contexthelp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/gamehelp/gameplayhelp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/gamesequence/gamesequence.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd/eventmusic.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd/gamesnd.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/alphacolors.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/crypt.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/systemvars.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/version.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/2d.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/font.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grgl1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grgl1render.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grgl1texture.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengl.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grwxgl.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hud.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudartillery.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudbrackets.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudconfig.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudescort.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudets.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudlock.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudmessage.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudobserver.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudreticle.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudshield.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudsquadmsg.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudtarget.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudtargetbox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudwingmanstatus.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/cftp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/chttpget.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/inetgetfile.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/joy.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/joy_ff.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/key.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/keycontrol.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/mouse.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/timer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/jumpnode/jumpnode.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/lighting/lighting.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/localization/fhash.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/localization/localize.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/localization/strings_tbl_fs1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/math/fix.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/math/floating.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/math/fvi.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/math/spline.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/math/staticrand.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/math/vecmat.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/barracks.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/credits.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/fishtank.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/mainhallmenu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/mainhalltemp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/optionsmenu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/optionsmenumulti.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/playermenu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/readyroom.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/snazzyui.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/techmenu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/menuui/trainingmenu.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionbriefcommon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missioncampaign.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiongoals.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiongrid.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionhotkey.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionload.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionlog.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionmessage.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionparse.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiontraining.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/chatbox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionbrief.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missioncmdbrief.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missiondebrief.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionloopbrief.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionpause.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionrecommend.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionscreencommon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionshipchoice.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionstats.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionweaponchoice.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/missionui/redalert.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/model/modelcollide.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/model/modelinterp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/model/modeloctant.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/model/modelread.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/movie/decoder16.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/movie/movie.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/movie/mve_audio.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/movie/mvelib.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/movie/mveplayer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nebula/neb.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nebula/neblightning.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_campaign.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_data.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_dogfight.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_endgame.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_ingame.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_kick.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_log.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_obj.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_observer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_oo.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_options.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pause.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pinfo.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_ping.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pmsg.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_rate.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_respawn.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_team.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_update.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_voice.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_xfer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multilag.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multimsgs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multiteamselect.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multiui.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/multiutil.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/psnet.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/psnet2.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/collidedebrisship.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/collidedebrisweapon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/collideshipship.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/collideshipweapon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/collideweaponweapon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/objcollide.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/object.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/objectsnd.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/object/objectsort.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/observer/observer.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osapi.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osregistry.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/osapi/outwnd.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/palman/palman.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/parse/encrypt.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/parse/parselo.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/parse/sexp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/particle/particle.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/pcxutils/pcxutils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/physics/physics.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/playerman/managepilot.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/playerman/playercontrol.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/popup/popup.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/popup/popupdead.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/radar/radar.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/render/3dclipper.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/render/3ddraw.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/render/3dlaser.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/render/3dmath.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/render/3dsetup.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/afterburner.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/ai.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/aibig.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/aicode.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/aigoals.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/awacs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/shield.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/ship.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/shipcontrails.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/shipfx.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ship/shiphit.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/acm.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/audiostr.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/oal.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/oal_capture.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/oal_efx.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/rtvoice.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/sound/sound.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/starfield/nebula.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/starfield/starfield.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/starfield/supernova.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/stats/medals.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/stats/scoring.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/stats/stats.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/tgautils/tgautils.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/button.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/checkbox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/gadget.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/icon.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/inputbox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/keytrap.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/listbox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/radio.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/scroll.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/slider.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/slider2.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/uidraw.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/uimouse.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ui/window.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/vcodec/codec1.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/beam.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/corkscrew.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/emp.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/flak.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/muzzleflash.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/shockwave.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/swarm.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/trails.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/weapon/weapons.cpp + # no PARENT_SCOPE here; do it below ) if(WIN32) set(code_SOURCE ${code_SOURCE} - network/stand_gui.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/stand_gui.cpp + PARENT_SCOPE ) else() set(code_SOURCE ${code_SOURCE} - network/stand_gui-unix.cpp - platform/unix.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/network/stand_gui-unix.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/platform/unix.cpp + PARENT_SCOPE ) endif() -add_library(code STATIC ${code_SOURCE}) +# +# the game itself +# + +set(freespace_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/freespace2/freespace.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/freespace2/levelpaging.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/freespace2/main.cpp + PARENT_SCOPE +) + +# +# ############################################################################## + +# ############################################################################## +# +# toolset: targets for creating/modifying game assets +# + +# +# AC: anim converter +# + +set(ac_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/ac/ac.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ac/ac_stubs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ac/convert.cpp + PARENT_SCOPE +) + +# +# CFILEARCHIVER: to create VP file archives +# + +set(cfilearchiver_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/cfilearchiver/cfilearchiver.cpp + PARENT_SCOPE +) + +# +# CRYPTSTRING: string encryption (for embedded cheat codes) +# + +set(cryptstring_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/cryptstring/cryptstring.cpp + PARENT_SCOPE +) + +# +# NEBEDIT: FS1 style nebula editor/creator +# + +set(nebedit_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/nebedit/nebedit.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/nebedit/nebstubs.cpp + PARENT_SCOPE +) + +# +# POFVIEW: model viewer +# + +set(pofview_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/pofview.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/pofviewdialogs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/pofviewcanvas.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/pofviewstubs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/pofview_ico.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_about.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_damaged.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_debris.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_detail1.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_detail2.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_detail3.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_detail4.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_detail5.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_detail6.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_lights.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/pofview/res/tool_tree.xpm + PARENT_SCOPE +) + +# +# SCRAMBLE: file-based encryption for TBLs +# + +set(scramble_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/parse/encrypt.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/scramble/scramble.cpp + PARENT_SCOPE +) + +# +# FONTTOOL: create font files / edit kerning data +# + +set(fonttool_SOURCE + ${CMAKE_CURRENT_SOURCE_DIR}/fonttool/fontstubs.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fonttool/fontcreate.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fonttool/fontkern.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fonttool/fontkerncopy.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/fonttool/fonttool.cpp + PARENT_SCOPE +) -- 2.39.2