cmake.patch (61,495 bytes)
2013-10-26 05:55
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..88387b6
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,66 @@
+# CMake build script files for Freespace 2 Source Code Project.
+#
+# Files:
+# CMakeLists.txt - This file.
+# toolchain-gcc.cmake - GNU/GCC toolchain configuration.
+# toolchain-msvc.cmake - Visual Studio toolchain configuration.
+# dependencies.cmake - Dependencies, does lookup on Linux and builds/imports on Windows.
+# code/CMakeLists.txt - CMakeLists.txt containing LIBCODE_SOURCES and other commons.
+# Includes the fred2, wxfred2 and freespace2 CMake subdirectories.
+# code/fred2/CMakeLists.txt - Fred2.
+# code/wxfred2/CMakeLists.txt - wxfred2.
+# code/freespace2/CMakeLists.txt - Freespace2.
+
+project("FSSCP" C CXX)
+
+if(MSVC)
+ set(CMAKE_CONFIGURATION_TYPES "Debug;Debug_SSE;Debug_SSE2;Debug_AVX;Release;Release_SSE;Release_SSE2;Release_AVX" CACHE STRING "Available configurations" FORCE)
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+else()
+ if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "DEBUG" CACHE STRING "Default build configuration used." FORCE)
+ message(WARNING "CMAKE_BUILD_TYPE was not specified, defaulting to Debug configuration.")
+ endif()
+endif()
+
+cmake_minimum_required(VERSION 2.8)
+
+set(VERSION_STRING 3_6_19)
+
+find_package(Git)
+if(GIT_FOUND AND EXISTS ${PROJECT_SOURCE_DIR}/.git AND REV_VERSION)
+ set(GIT_ARGS --no-pager rev-parse --short HEAD)
+ execute_process(
+ COMMAND ${GIT_EXECUTABLE} ${GIT_ARGS}
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+ OUTPUT_VARIABLE VERSION_STRING
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+endif()
+
+# WARNING: Ugh ...
+macro(build_solution_tree ${ARGV0})
+ if(MSVC)
+ get_target_property(${ARGV0}_SOURCES ${ARGV0} SOURCES)
+ foreach(SOURCE_FILEPATH ${${ARGV0}_SOURCES})
+ string(REGEX REPLACE "${PROJECT_SOURCE_DIR}/code/" "" SOURCE_LOCAL_FILEPATH ${SOURCE_FILEPATH})
+ string(REGEX REPLACE ".*/" "" SOURCE_LOCAL_FILENAME ${SOURCE_LOCAL_FILEPATH})
+ string(REGEX REPLACE "${SOURCE_LOCAL_FILENAME}" "" SOURCE_LOCAL_DIRPATH ${SOURCE_LOCAL_FILEPATH})
+ string(REGEX REPLACE "/" "\\\\\\\\" SOURCE_GROUPNAME ${SOURCE_LOCAL_DIRPATH})
+ source_group("${SOURCE_GROUPNAME}" FILES "${SOURCE_FILEPATH}")
+ endforeach(SOURCE_FILEPATH ${${ARGV0}_SOURCES})
+ endif(MSVC)
+endmacro(build_solution_tree ${ARGV0})
+
+if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+ include(toolchain-gcc.cmake)
+elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC")
+ include(toolchain-msvc.cmake)
+elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+ include(toolchain-clang.cmake)
+endif()
+
+include(dependencies.cmake)
+
+add_subdirectory(code)
diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt
new file mode 100644
index 0000000..a9fd561
--- /dev/null
+++ b/code/CMakeLists.txt
@@ -0,0 +1,599 @@
+
+set(LIBCODE_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/ai.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/ai.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/ai_profiles.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/ai_profiles.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aibig.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aibig.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aicode.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aigoals.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aigoals.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aiinternal.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/ailocal.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ai/aiturret.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/anim/animplay.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/anim/animplay.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/anim/packunpack.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/anim/packunpack.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/asteroid/asteroid.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/asteroid/asteroid.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/autopilot/autopilot.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/autopilot/autopilot.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/bmpman/bm_internal.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/bmpman/bmpman.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/bmpman/bmpman.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/camera/camera.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/camera/camera.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfile.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfile.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilearchive.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilearchive.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilelist.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilesystem.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cfile/cfilesystem.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmdline/cmdline.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmdline/cmdline.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmeasure/cmeasure.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmeasure/cmeasure.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/controlconfig/controlsconfig.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/controlconfig/controlsconfig.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/controlconfig/controlsconfigcommon.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/cutscenes.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/cutscenes.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/decoder16.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/decoder8.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/movie.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/movie.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/mve_audio.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/mvelib.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/mvelib.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/mveplayer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/oggplayer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cutscene/oggplayer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ddsutils/ddsutils.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ddsutils/ddsutils.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/debris/debris.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/debris/debris.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/debugconsole/console.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/debugconsole/timerbar.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/debugconsole/timerbar.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/exceptionhandler/exceptionhandler.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/exceptionhandler/exceptionhandler.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/external_dll/externalcode.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/external_dll/trackirglobal.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/external_dll/trackirpublic.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fireball/fireballs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fireball/fireballs.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fireball/warpineffect.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/fs2netd_client.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/fs2netd_client.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/protocol.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/tcp_client.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/tcp_client.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/tcp_socket.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fs2netd/tcp_socket.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamehelp/contexthelp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamehelp/contexthelp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamehelp/gameplayhelp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamehelp/gameplayhelp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamesequence/gamesequence.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamesequence/gamesequence.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd/eventmusic.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd/eventmusic.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd/gamesnd.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/gamesnd/gamesnd.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/alphacolors.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/alphacolors.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/def_files.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/def_files.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/globals.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/linklist.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/profiling.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/pstypes.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/safe_strings.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/safe_strings.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/safe_strings_test.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/systemvars.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/systemvars.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/version.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/version.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/2d.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/2d.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/font.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/font.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/generic.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/generic.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grbatch.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grbatch.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grinternal.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengl.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengl.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglbmpman.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglbmpman.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengldraw.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengldraw.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglextension.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglextension.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengllight.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengllight.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglpostprocessing.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglpostprocessing.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglshader.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglshader.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglstate.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropenglstate.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengltexture.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengltexture.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengltnl.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gropengltnl.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grstub.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/grstub.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/line.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/tmapper.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hud.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hud.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudartillery.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudartillery.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudbrackets.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudbrackets.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudconfig.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudconfig.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudescort.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudescort.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudets.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudets.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudgauges.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudlock.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudlock.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudmessage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudmessage.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudnavigation.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudnavigation.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudobserver.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudobserver.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudparse.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudparse.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudreticle.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudreticle.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudshield.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudshield.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudsquadmsg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudsquadmsg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudtarget.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudtarget.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudtargetbox.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudtargetbox.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudwingmanstatus.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/hud/hudwingmanstatus.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/iff_defs/iff_defs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/iff_defs/iff_defs.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/cftp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/cftp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/chttpget.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/chttpget.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/inetgetfile.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/inetfile/inetgetfile.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/key.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/key.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/keycontrol.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/keycontrol.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/mouse.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/mouse.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/timer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/timer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/jpgutils/jpgutils.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/jpgutils/jpgutils.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/jumpnode/jumpnode.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/jumpnode/jumpnode.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/lighting/lighting.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/lighting/lighting.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/localization/fhash.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/localization/fhash.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/localization/localize.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/localization/localize.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/fix.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/fix.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/floating.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/floating.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/fvi.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/fvi.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/spline.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/spline.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/staticrand.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/staticrand.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/vecmat.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/math/vecmat.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/barracks.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/barracks.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/credits.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/credits.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/fishtank.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/fishtank.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/mainhallmenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/mainhallmenu.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/mainhalltemp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/mainhalltemp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/optionsmenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/optionsmenu.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/optionsmenumulti.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/optionsmenumulti.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/playermenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/playermenu.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/readyroom.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/readyroom.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/snazzyui.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/snazzyui.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/techmenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/techmenu.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/trainingmenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/menuui/trainingmenu.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionbriefcommon.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionbriefcommon.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missioncampaign.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missioncampaign.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiongoals.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiongoals.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiongrid.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiongrid.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionhotkey.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionhotkey.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionload.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionload.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionlog.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionlog.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionmessage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionmessage.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionparse.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missionparse.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiontraining.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mission/missiontraining.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/chatbox.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/chatbox.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/fictionviewer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/fictionviewer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionbrief.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionbrief.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missioncmdbrief.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missioncmdbrief.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missiondebrief.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missiondebrief.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionloopbrief.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionloopbrief.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionpause.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionpause.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionrecommend.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionrecommend.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionscreencommon.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionscreencommon.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionshipchoice.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionshipchoice.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionstats.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionstats.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionweaponchoice.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/missionweaponchoice.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/redalert.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionui/redalert.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mod_table/mod_table.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mod_table/mod_table.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/model/model.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/model/modelanim.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/model/modelanim.h
+ ${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}/model/modelsinc.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/nebula/neb.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nebula/neb.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/nebula/neblightning.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nebula/neblightning.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/chat_api.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/chat_api.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_campaign.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_campaign.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_data.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_data.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_dogfight.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_dogfight.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_endgame.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_endgame.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_ingame.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_ingame.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_kick.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_kick.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_log.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_log.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_obj.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_obj.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_observer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_observer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_options.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_options.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pause.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pause.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pinfo.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pinfo.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_ping.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_ping.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pmsg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pmsg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pxo.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_pxo.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_rate.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_rate.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_respawn.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_respawn.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_sexp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_sexp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_team.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_team.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_update.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_voice.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_voice.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_xfer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_xfer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multilag.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multilag.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multimsgs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multimsgs.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multiteamselect.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multiteamselect.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multiui.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multiui.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multiutil.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multiutil.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/psnet2.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/psnet2.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/stand_gui-unix.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/stand_gui.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/stand_gui.h
+ ${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/deadobjectdock.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/deadobjectdock.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objcollide.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objcollide.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/object.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/object.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectdock.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectdock.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectshield.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectshield.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectsnd.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectsnd.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/objectsort.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/parseobjectdock.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/parseobjectdock.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/waypoint.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/object/waypoint.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/observer/observer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/observer/observer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/palman/palman.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/palman/palman.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/encrypt.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/encrypt.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/generic_log.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/generic_log.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/lua.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/lua.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/parselo.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/parselo.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/scripting.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/scripting.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/sexp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/parse/sexp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/particle/particle.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/particle/particle.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/pcxutils/pcxutils.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pcxutils/pcxutils.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/physics/physics.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/physics/physics.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/csg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/csg_convert.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/pilotfile.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/pilotfile.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/pilotfile_convert.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/pilotfile_convert.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/plr.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pilotfile/plr_convert.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/playerman/managepilot.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/playerman/managepilot.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/playerman/player.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/playerman/playercontrol.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pngutils/pngutils.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/pngutils/pngutils.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/popup/popup.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/popup/popup.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/popup/popupdead.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/popup/popupdead.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radar.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radar.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radardradis.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radardradis.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radarorb.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radarorb.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radarsetup.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/radar/radarsetup.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/render/3d.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/render/3dclipper.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/render/3ddraw.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/render/3dinternal.h
+ ${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/afterburner.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/awacs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/awacs.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shield.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/ship.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/ship.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shipcontrails.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shipcontrails.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shipfx.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shipfx.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shiphit.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/shiphit.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship/subsysdamage.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/acm.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/acm.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/audiostr.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/audiostr.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/ds.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/ds.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/ds3d.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/ds3d.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/dscap.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/dscap.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/fsspeech.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/fsspeech.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/ogg/ogg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/ogg/ogg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/openal.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/openal.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/rtvoice.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/rtvoice.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/sound.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/sound.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/speech.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/speech.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/voicerec.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/voicerec.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/species_defs/species_defs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/species_defs/species_defs.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfield/nebula.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfield/nebula.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfield/starfield.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfield/starfield.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfield/supernova.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfield/supernova.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/stats/medals.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/stats/medals.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/stats/scoring.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/stats/scoring.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/stats/stats.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/stats/stats.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/tgautils/tgautils.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/tgautils/tgautils.h
+ ${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/ui.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ui/uidefs.h
+ ${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}/weapon/beam.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/beam.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/corkscrew.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/corkscrew.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/emp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/emp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/flak.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/flak.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/muzzleflash.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/muzzleflash.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/shockwave.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/shockwave.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/swarm.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/swarm.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/trails.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/trails.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/weapon.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weapon/weapons.cpp
+ # For "old" MSVC?
+ #${CMAKE_CURRENT_SOURCE_DIR}/globalincs/fsmemory.cpp
+ #${CMAKE_CURRENT_SOURCE_DIR}/globalincs/fsmemory.h
+)
+
+if(UNIX)
+ set(LIBCODE_SOURCES
+ ${LIBCODE_SOURCES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/joy.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/joy_ff.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/joy-unix.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osapi_unix.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osapi.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osregistry_unix.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osregistry.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/outwnd_unix.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/outwnd.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/windows_stub/stubs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/windows_stub/config.h
+ )
+elseif(MSVC)
+ set(LIBCODE_SOURCES
+ ${LIBCODE_SOURCES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vasync.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vd3dtypes.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vddraw.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vdinput.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vdplay.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vdplobby.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vdsetup.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/directx/vdvp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/mspdb_callstack.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/mspdb_callstack.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/globalincs/windebug.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gl/GLAUX.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gl/Glext.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gl/GLU.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gl/wglext.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/graphics/gl/Gl.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/joy.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/joy_ff.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/sw_error.hpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/sw_force.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/sw_guid.hpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/io/swff_lib.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_update.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/multi_update.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/network/stand_gui.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/monopub.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osapi.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osapi.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osregistry.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/osregistry.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/outwnd.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/osapi/outwnd.h
+ )
+endif()
+
+# WARNING: Untested.
+option(FS2OPEN_SPEECH "Enable Text-to-Speech" FALSE)
+if(FS2OPEN_SPEECH)
+ set_source_files_properties(
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/fsspeech.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/fsspeech.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/speech.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sound/speech.h
+ PROPERTIES
+ COMPILE_DEFINITIONS "FS2_SPEECH"
+ )
+endif(FS2OPEN_SPEECH)
+
+add_subdirectory(freespace2)
+
+find_package(MFC)
+if(MFC_FOUND)
+ add_subdirectory(fred2)
+endif(MFC_FOUND)
+
+find_package(wxWidgets COMPONENTS gl core base)
+if(wxWidgets_FOUND)
+ add_subdirectory(wxfred2)
+endif(wxWidgets_FOUND)
diff --git a/code/fred2/CMakeLists.txt b/code/fred2/CMakeLists.txt
new file mode 100644
index 0000000..2e251a4
--- /dev/null
+++ b/code/fred2/CMakeLists.txt
@@ -0,0 +1,209 @@
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+
+set(FRED2_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/altshipclassdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/altshipclassdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fictionviewerdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fictionviewerdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/addvariabledlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/addvariabledlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/adjustgriddlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/adjustgriddlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/asteroideditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/asteroideditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/backgroundchooser.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/backgroundchooser.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/bgbitmapdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/bgbitmapdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/briefingeditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/briefingeditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaigneditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaigneditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaignfilelistbox.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaignfilelistbox.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaigntreeview.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaigntreeview.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaigntreewnd.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/campaigntreewnd.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmdbrief.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmdbrief.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/createwingdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/createwingdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/customwingnames.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/customwingnames.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/debriefingeditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/debriefingeditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/dialog1.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/dialog1.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/dumpstats.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/dumpstats.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/eventeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/eventeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/folderdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/folderdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fred.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fred.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fred.rc
+ ${CMAKE_CURRENT_SOURCE_DIR}/freddoc.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/freddoc.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fredrender.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fredrender.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/fredstubs.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fredview.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/fredview.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/grid.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/grid.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ignoreordersdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ignoreordersdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/initialships.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/initialships.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/initialstatus.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/initialstatus.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/mainfrm.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/mainfrm.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/management.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/management.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/messageeditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/messageeditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missiongoalsdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missiongoalsdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionnotesdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionnotesdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionsave.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/missionsave.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/modifyvariabledlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/modifyvariabledlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/operatorargtypeselect.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/operatorargtypeselect.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/orienteditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/orienteditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/playerstarteditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/playerstarteditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/prefsdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/prefsdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/reinforcementeditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/reinforcementeditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/resource.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/restrictpaths.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/restrictpaths.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/setglobalshipflags.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/setglobalshipflags.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/sexp_tree.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/sexp_tree.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shieldsysdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shieldsysdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship_select.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/ship_select.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipchecklistbox.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipchecklistbox.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipclasseditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipclasseditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipeditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipeditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipflagsdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipflagsdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipgoalsdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipgoalsdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipspecialdamage.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipspecialdamage.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipspecialhitpoints.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shipspecialhitpoints.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/shiptexturesdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/shiptexturesdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/soundenvironmentdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/soundenvironmentdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfieldeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/starfieldeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/stdafx.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/stdafx.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/textviewdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/textviewdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/voiceactingmanager.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/voiceactingmanager.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/waypointpathdlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/waypointpathdlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/weaponeditordlg.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/weaponeditordlg.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/wing.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/wing.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/wing_editor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/wing_editor.h
+)
+
+set_source_files_properties(
+ ${CMAKE_CURRENT_SOURCE_DIR}/fred.rc
+ PROPERTIES
+ LANGUAGE RC
+)
+
+set(CMAKE_MFC_FLAG 1)
+
+add_executable(fred2 WIN32 ${LIBCODE_SOURCES} ${FRED2_SOURCES})
+build_solution_tree(fred2)
+
+set_target_properties(fred2 PROPERTIES
+ COMPILE_DEFINITIONS_RELEASE "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_SSE "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_SSE2 "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_AVX "NDEBUG"
+ COMPILE_DEFINITIONS_DEBUG "_DEBUG;PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_SSE "_DEBUG;PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_SSE2 "_DEBUG;PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_AVX "_DEBUG;PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ RELEASE_POSTFIX "_${VERSION_STRING}"
+ RELEASE_SSE_POSTFIX "_${VERSION_STRING}-SSE"
+ RELEASE_SSE2_POSTFIX "_${VERSION_STRING}-SSE2"
+ RELEASE_AVX_POSTFIX "_${VERSION_STRING}-AVX"
+ DEBUG_POSTFIX "_${VERSION_STRING}-DEBUG"
+ DEBUG_SSE_POSTFIX "_${VERSION_STRING}-DEBUG-SSE"
+ DEBUG_SSE2_POSTFIX "_${VERSION_STRING}-DEBUG-SSE2"
+ DEBUG_AVX_POSTFIX "_${VERSION_STRING}-DEBUG-AVX"
+)
+
+add_definitions(
+ /DFRED
+ /DWINVER=0x0501
+ /D_WIN32_WINNT=0x0501
+ /D_WINDOWS
+ /DWIN32
+ /D_CRT_SECURE_NO_DEPRECATE
+ /D_SECURE_SCL=0
+)
+include_directories(
+ ${PROJECT_SOURCE_DIR}/code
+ ${JPEG_INCLUDE_DIR}
+ ${LUA_INCLUDE_DIR}
+ ${OPENAL_INCLUDE_DIR}
+ ${PNG_INCLUDE_DIR}
+ ${ZLIB_INCLUDE_DIR}
+ ${OGG_INCLUDE_DIRS}
+ ${VORBIS_INCLUDE_DIRS}
+ ${VORBISFILE_INCLUDE_DIRS}
+ ${THEROA_INCLUDE_DIRS}
+)
+target_link_libraries(fred2
+ ogg
+ vorbis
+ vorbisfile
+ theora
+ zlib
+ png
+ lua
+ jpeg
+ openal
+ ${DIRECTX_LIBRARIRES}
+ debug "nafxcwd.lib"
+ optimized "nafxcw.lib"
+)
+# NOTE: This doesn't work with the NMake generator.
+list(APPEND CMAKE_CXX_STANDARD_LIBRARIES
+ comctl32.lib
+ msacm32.lib
+ odbc32.lib
+ odbccp32.lib
+ vfw32.lib
+ winmm.lib
+ wsock32.lib
+)
diff --git a/code/freespace2/CMakeLists.txt b/code/freespace2/CMakeLists.txt
new file mode 100644
index 0000000..d2f11aa
--- /dev/null
+++ b/code/freespace2/CMakeLists.txt
@@ -0,0 +1,109 @@
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+
+set(FS2OPEN_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/freespace.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/freespace.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/freespace.rc
+ ${CMAKE_CURRENT_SOURCE_DIR}/freespaceresource.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/levelpaging.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/levelpaging.h
+ ${PROJECT_SOURCE_DIR}/code/lab/lab.cpp
+ ${PROJECT_SOURCE_DIR}/code/lab/lab.h
+ ${PROJECT_SOURCE_DIR}/code/lab/wmcgui.cpp
+ ${PROJECT_SOURCE_DIR}/code/lab/wmcgui.h
+)
+
+add_executable(fs2_open WIN32 ${LIBCODE_SOURCES} ${FS2OPEN_SOURCES})
+build_solution_tree(fs2_open)
+
+set_target_properties(fs2_open PROPERTIES
+ COMPILE_DEFINITIONS_RELEASE "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_SSE "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_SSE2 "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_AVX "NDEBUG"
+ COMPILE_DEFINITIONS_DEBUG "_DEBUG"
+ COMPILE_DEFINITIONS_DEBUG_SSE "_DEBUG"
+ COMPILE_DEFINITIONS_DEBUG_SSE2 "_DEBUG"
+ COMPILE_DEFINITIONS_DEBUG_AVX "_DEBUG"
+ RELEASE_POSTFIX "_${VERSION_STRING}"
+ RELEASE_SSE_POSTFIX "_${VERSION_STRING}-SSE"
+ RELEASE_SSE2_POSTFIX "_${VERSION_STRING}-SSE2"
+ RELEASE_AVX_POSTFIX "_${VERSION_STRING}-AVX"
+ DEBUG_POSTFIX "_${VERSION_STRING}-DEBUG"
+ DEBUG_SSE_POSTFIX "_${VERSION_STRING}-DEBUG-SSE"
+ DEBUG_SSE2_POSTFIX "_${VERSION_STRING}-DEBUG-SSE2"
+ DEBUG_AVX_POSTFIX "_${VERSION_STRING}-DEBUG-AVX"
+)
+include_directories(fs2_open PUBLIC
+ ${PROJECT_SOURCE_DIR}/code
+ ${JPEG_INCLUDE_DIR}
+ ${LUA_INCLUDE_DIR}
+ ${OPENAL_INCLUDE_DIR}
+ ${PNG_INCLUDE_DIR}
+ ${OGG_INCLUDE_DIRS}
+ ${VORBIS_INCLUDE_DIRS}
+ ${VORBISFILE_INCLUDE_DIRS}
+ ${THEROA_INCLUDE_DIRS}
+ ${ZLIB_INCLUDE_DIR}
+)
+
+if(UNIX)
+ add_definitions(
+ -DSCP_UNIX
+ -DLUA_USE_LINUX
+ )
+ include_directories(
+ ${OPENGL_INCLUDE_DIR}
+ ${SDL_INCLUDE_DIR}
+ )
+ target_link_libraries(fs2_open
+ ${OGG_LIBRARIES}
+ ${OPENGL_LIBRARY}
+ ${SDL_LIBRARY}
+ ${THEORA_LIBRARIES}
+ ${VORBISFILE_LIBRARIES}
+ ${VORBIS_LIBRARIES}
+ ${JPEG_LIBRARY}
+ ${LUA_LIBRARY}
+ ${PNG_LIBRARY}
+ ${OPENAL_LIBRARY}
+ )
+elseif(MSVC)
+ add_definitions(
+ /D_WINDOWS
+ /DWIN32
+ /D_CRT_SECURE_NO_DEPRECATE
+ /D_CRT_SECURE_NO_WARNINGS
+ /D_SECURE_SCL=0
+ /DUSE_OPENAL
+ )
+ target_link_libraries(fs2_open
+ ogg
+ vorbis
+ vorbisfile
+ theora
+ zlib
+ png
+ lua
+ jpeg
+ openal
+ ${DIRECTX_LIBRARIRES}
+ )
+ # NOTE: This doesn't work with the NMake generator.
+ list(APPEND CMAKE_CXX_STANDARD_LIBRARIES
+ comctl32.lib
+ msacm32.lib
+ odbc32.lib
+ odbccp32.lib
+ vfw32.lib
+ winmm.lib
+ wsock32.lib
+ )
+ set_target_properties(fs2_open PROPERTIES
+ COMPILE_DEFINITIONS_DEBUG "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_SSE "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_SSE2 "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_AVX "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ )
+endif()
\ No newline at end of file
diff --git a/code/wxfred2/CMakeLists.txt b/code/wxfred2/CMakeLists.txt
new file mode 100644
index 0000000..16f375e
--- /dev/null
+++ b/code/wxfred2/CMakeLists.txt
@@ -0,0 +1,187 @@
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+
+set(WXFRED2_SOURCES
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/select.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/constz.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/constx.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/selectrot.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/constyz.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/constxy.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/wingform.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/zoomsel.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/constxz.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/consty.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/wingdisband.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/showdist.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/orbitsel.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/zoomext.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/rotlocal.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/selectmove.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/selectlock.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/selectlist.png.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/base/wxfred_base.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/base/wxfred_base.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgobjecteditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgobjecteditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgvoiceactingmanager.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmdebriefingeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgbackgroundeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgmissionobjectiveseditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmbriefingeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmteamloadouteditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgmissionobjectiveseditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgmissionspecseditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmdebriefingeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgfictionviewer.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgvoiceactingmanager.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgsoundenvironment.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmcommandbriefingeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmbriefingeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgshieldsystemeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgreinforcementseditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgeventseditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmteamloadouteditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmcommandbriefingeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmwaypointeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgasteroidfieldeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgsetglobalshipflagseditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgshieldsystemeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmshipseditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgfictionviewer.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgreinforcementspicker.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmcampaigneditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgasteroidfieldeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgreinforcementspicker.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgreinforcementseditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmcampaigneditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgbackgroundeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmshipseditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgeventseditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgsetglobalshipflagseditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmwingeditor.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmwingeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/frmwaypointeditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgsoundenvironment.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/editors/dlgmissionspecseditor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/glcviewport.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/misc/dlgmissionstats.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/misc/dlgmissionstats.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/wxfred2.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/wxfred2.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/help/dlgsexphelp.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/help/dlgsexphelp.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/help/dlgaboutbox.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/help/dlgaboutbox.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/frmfred2.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/frmfred2.cpp
+)
+
+include(${wxWidgets_USE_FILE})
+
+add_executable(wxfred2 WIN32 ${WXFRED2_SOURCES})
+build_solution_tree(wxfred2)
+
+set_target_properties(wxfred2
+ PROPERTIES
+ COMPILE_DEFINITIONS_RELEASE "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_SSE "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_SSE2 "NDEBUG"
+ COMPILE_DEFINITIONS_RELEASE_AVX "NDEBUG"
+ COMPILE_DEFINITIONS_DEBUG "_DEBUG"
+ COMPILE_DEFINITIONS_DEBUG_SSE "_DEBUG"
+ COMPILE_DEFINITIONS_DEBUG_SSE2 "_DEBUG"
+ COMPILE_DEFINITIONS_DEBUG_AVX "_DEBUG"
+ RELEASE_POSTFIX "_${VERSION_STRING}"
+ RELEASE_SSE_POSTFIX "_${VERSION_STRING}-SSE"
+ RELEASE_SSE2_POSTFIX "_${VERSION_STRING}-SSE2"
+ RELEASE_AVX_POSTFIX "_${VERSION_STRING}-AVX"
+ DEBUG_POSTFIX "_${VERSION_STRING}-DEBUG"
+ DEBUG_SSE_POSTFIX "_${VERSION_STRING}-DEBUG-SSE"
+ DEBUG_SSE2_POSTFIX "_${VERSION_STRING}-DEBUG-SSE2"
+ DEBUG_AVX_POSTFIX "_${VERSION_STRING}-DEBUG-AVX"
+)
+add_definitions(
+ -DFRED
+)
+include_directories(
+ ${PROJECT_SOURCE_DIR}/code
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${JPEG_INCLUDE_DIR}
+ ${LUA_INCLUDE_DIR}
+ ${OPENAL_INCLUDE_DIR}
+ ${PNG_INCLUDE_DIR}
+ ${ZLIB_INCLUDE_DIR}
+ ${OGG_INCLUDE_DIRS}
+ ${VORBIS_INCLUDE_DIRS}
+ ${VORBISFILE_INCLUDE_DIRS}
+ ${THEROA_INCLUDE_DIRS}
+ ${wxWidgets_INCLUDE_DIRS}
+)
+target_link_libraries(wxfred2
+ ${wxWidgets_LIBRARIES}
+)
+
+if(UNIX)
+ add_definitions(
+ -DSCP_UNIX
+ -DLUA_USE_LINUX
+ )
+ include_directories(
+ ${OPENGL_INCLUDE_DIR}
+ ${SDL_INCLUDE_DIR}
+ )
+ target_link_libraries(wxfred2
+ ${OGG_LIBRARIES}
+ ${OPENGL_LIBRARY}
+ ${SDL_LIBRARY}
+ ${THEORA_LIBRARIES}
+ ${VORBISFILE_LIBRARIES}
+ ${VORBIS_LIBRARIES}
+ ${JPEG_LIBRARY}
+ ${LUA_LIBRARY}
+ ${PNG_LIBRARY}
+ ${OPENAL_LIBRARY}
+ )
+ set_target_properties(wxfred2
+ PROPERTIES
+ EXCLUDE_FROM_ALL TRUE
+ )
+elseif(MSVC)
+ set(wxWidgets_CONFIGURATION "mswu" CACHE STRING "Release WxWidgets configuration" FORCE)
+
+ add_definitions(
+ /DWINVER=0x0501
+ /D_WIN32_WINNT=0x0501
+ /D_WINDOWS
+ /DWIN32
+ )
+ target_link_libraries(wxfred2
+ ogg
+ vorbis
+ vorbisfile
+ theora
+ zlib
+ png
+ lua
+ jpeg
+ openal
+ ${DIRECTX_LIBRARIRES}
+ )
+ # NOTE: This doesn't work with the NMake generator.
+ list(APPEND CMAKE_CXX_STANDARD_LIBRARIES
+ comctl32.lib
+ msacm32.lib
+ odbc32.lib
+ odbccp32.lib
+ vfw32.lib
+ winmm.lib
+ wsock32.lib
+ )
+ set_target_properties(fs2_open PROPERTIES
+ COMPILE_DEFINITIONS_DEBUG "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_SSE "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_SSE2 "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ COMPILE_DEFINITIONS_DEBUG_AVX "PDB_DEBUGGING=1;_HAS_ITERATOR_DEBUGGING=0"
+ )
+endif()
diff --git a/dependencies.cmake b/dependencies.cmake
new file mode 100644
index 0000000..6c1829a
--- /dev/null
+++ b/dependencies.cmake
@@ -0,0 +1,244 @@
+# Dependencies
+if(UNIX)
+ find_package(JPEG REQUIRED)
+ find_package(Lua51 REQUIRED)
+ find_package(OpenAL REQUIRED)
+ find_package(OpenGL REQUIRED)
+ find_package(PNG REQUIRED)
+ find_package(SDL REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(OGG REQUIRED ogg)
+ pkg_check_modules(THEORA REQUIRED theora)
+ pkg_check_modules(VORBIS REQUIRED vorbis)
+ pkg_check_modules(VORBISFILE REQUIRED vorbisfile)
+elseif(MSVC)
+ # JPEG
+ add_library(jpeg STATIC
+ libjpeg/jaricom.c
+ libjpeg/jcapimin.c
+ libjpeg/jcapistd.c
+ libjpeg/jcomapi.c
+ libjpeg/jconfig.h
+ libjpeg/jcparam.c
+ libjpeg/jctrans.c
+ libjpeg/jdapimin.c
+ libjpeg/jdapistd.c
+ libjpeg/jdarith.c
+ libjpeg/jdatasrc.c
+ libjpeg/jdcoefct.c
+ libjpeg/jdcolor.c
+ libjpeg/jdct.h
+ libjpeg/jddctmgr.c
+ libjpeg/jdhuff.c
+ libjpeg/jdinput.c
+ libjpeg/jdmainct.c
+ libjpeg/jdmarker.c
+ libjpeg/jdmaster.c
+ libjpeg/jdmerge.c
+ libjpeg/jdpostct.c
+ libjpeg/jdsample.c
+ libjpeg/jdtrans.c
+ libjpeg/jerror.c
+ libjpeg/jerror.h
+ libjpeg/jidctflt.c
+ libjpeg/jidctfst.c
+ libjpeg/jidctint.c
+ libjpeg/jinclude.h
+ libjpeg/jmemmgr.c
+ libjpeg/jmemnobs.c
+ libjpeg/jmemsys.h
+ libjpeg/jmorecfg.h
+ libjpeg/jpegint.h
+ libjpeg/jpeglib.h
+ libjpeg/jquant1.c
+ libjpeg/jquant2.c
+ libjpeg/jutils.c
+ libjpeg/jversion.h
+ )
+ set_target_properties(jpeg
+ PROPERTIES
+ COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS
+ )
+ set(JPEG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/libjpeg")
+
+ # zlib
+ add_library(zlib STATIC
+ zlib/adler32.c
+ zlib/compress.c
+ zlib/crc32.c
+ zlib/crc32.h
+ zlib/deflate.c
+ zlib/deflate.h
+ zlib/infback.c
+ zlib/inffast.c
+ zlib/inffast.h
+ zlib/inffixed.h
+ zlib/inflate.c
+ zlib/inflate.h
+ zlib/inftrees.c
+ zlib/inftrees.h
+ zlib/trees.c
+ zlib/trees.h
+ zlib/uncompr.c
+ zlib/zconf.h
+ zlib/zlib.h
+ zlib/zutil.c
+ zlib/zutil.h
+ )
+ set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/zlib")
+
+ # PNG
+ add_library(png STATIC
+ libpng/png.c
+ libpng/png.h
+ libpng/pngconf.h
+ libpng/pngdebug.h
+ libpng/pngerror.c
+ libpng/pngget.c
+ libpng/pnginfo.h
+ libpng/pnglibconf.h
+ libpng/pngmem.c
+ libpng/pngpread.c
+ libpng/pngpriv.h
+ libpng/pngread.c
+ libpng/pngrio.c
+ libpng/pngrtran.c
+ libpng/pngrutil.c
+ libpng/pngset.c
+ libpng/pngstruct.h
+ libpng/pngtrans.c
+ libpng/pngwio.c
+ libpng/pngwrite.c
+ libpng/pngwtran.c
+ libpng/pngwutil.c
+ )
+ set_target_properties(png
+ PROPERTIES
+ COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS
+ COMPILE_DEFINITIONS_DEBUG PNG_DEBUG=1
+ INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIR}"
+ )
+ set(PNG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/libpng")
+
+ # Lua 5.1
+ add_library(lua STATIC
+ lua/lapi.c
+ lua/lapi.h
+ lua/lauxlib.c
+ lua/lauxlib.h
+ lua/lbaselib.c
+ lua/lcode.c
+ lua/lcode.h
+ lua/ldblib.c
+ lua/ldebug.c
+ lua/ldebug.h
+ lua/ldo.c
+ lua/ldo.h
+ lua/ldump.c
+ lua/lfunc.c
+ lua/lfunc.h
+ lua/lgc.c
+ lua/lgc.h
+ lua/linit.c
+ lua/liolib.c
+ lua/llex.c
+ lua/llex.h
+ lua/llimits.h
+ lua/lmathlib.c
+ lua/lmem.c
+ lua/lmem.h
+ lua/loadlib.c
+ lua/lobject.c
+ lua/lobject.h
+ lua/lopcodes.c
+ lua/lopcodes.h
+ lua/loslib.c
+ lua/lparser.c
+ lua/lparser.h
+ lua/lstate.c
+ lua/lstate.h
+ lua/lstring.c
+ lua/lstring.h
+ lua/lstrlib.c
+ lua/ltable.c
+ lua/ltable.h
+ lua/ltablib.c
+ lua/ltm.c
+ lua/ltm.h
+ lua/lua.h
+ lua/luaconf.h
+ lua/lualib.h
+ lua/lundump.c
+ lua/lundump.h
+ lua/lvm.c
+ lua/lvm.h
+ lua/lzio.c
+ lua/lzio.h
+ lua/print.c
+ )
+ set_target_properties(lua
+ PROPERTIES
+ COMPILE_FLAGS _CRT_SECURE_NO_WARNINGS
+ )
+ set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua")
+
+ set_target_properties(jpeg png lua zlib
+ PROPERTIES
+ COMPILE_FLAGS "/W0"
+ FOLDER "3rdparty"
+ STATIC_LIBRARY_FLAGS "/LTCG"
+ )
+
+ # Ogg
+ add_library(ogg STATIC IMPORTED)
+ set_target_properties(ogg
+ PROPERTIES
+ IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/oggvorbis/lib/ogg_static.lib
+ IMPORTED_LOCATION_DEBUG ${PROJECT_SOURCE_DIR}/oggvorbis/lib/ogg_static_d.lib
+ )
+ set(OGG_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/oggvorbis/include")
+
+ # Vorbis
+ add_library(vorbis STATIC IMPORTED)
+ set_target_properties(vorbis
+ PROPERTIES
+ IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/oggvorbis/lib/vorbis_static.lib
+ IMPORTED_LOCATION_DEBUG ${PROJECT_SOURCE_DIR}/oggvorbis/lib/vorbis_static_d.lib
+ )
+ set(VORBIS_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/oggvorbis/include")
+
+ # Vorbisfile
+ add_library(vorbisfile STATIC IMPORTED)
+ set_target_properties(vorbisfile
+ PROPERTIES
+ IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/oggvorbis/lib/vorbisfile_static.lib
+ IMPORTED_LOCATION_DEBUG ${PROJECT_SOURCE_DIR}/oggvorbis/lib/vorbisfile_static_d.lib
+ )
+ set(VORBISFILE_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/oggvorbis/include")
+
+ # Theora
+ add_library(theora STATIC IMPORTED)
+ set_target_properties(theora
+ PROPERTIES
+ IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/oggvorbis/lib/theora_static.lib
+ IMPORTED_LOCATION_DEBUG ${PROJECT_SOURCE_DIR}/oggvorbis/lib/theora_static_d.lib
+ )
+ set(THEORA_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/oggvorbis/include")
+
+ # OpenAL
+ add_library(openal STATIC IMPORTED)
+ set_target_properties(openal
+ PROPERTIES
+ IMPORTED_LOCATION ${PROJECT_SOURCE_DIR}/openal/libs/win32/openal32.lib
+ )
+ set(OPENAL_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/openal/include")
+
+ # Various DirectX bits.
+ list(APPEND DIRECTX_LIBRARIRES
+ ${PROJECT_SOURCE_DIR}/code/directx/dxguid.lib
+ ${PROJECT_SOURCE_DIR}/code/directx/strmiids.lib
+ ${PROJECT_SOURCE_DIR}/code/directx/vdinput.lib
+ ${PROJECT_SOURCE_DIR}/code/directx/vdsound.lib
+ )
+
+endif()
\ No newline at end of file
diff --git a/toolchain-clang.cmake b/toolchain-clang.cmake
new file mode 100644
index 0000000..4b82804
--- /dev/null
+++ b/toolchain-clang.cmake
@@ -0,0 +1,35 @@
+# Clang
+
+unset(CMAKE_CXX_FLAGS)
+if(DEFINED ENV{CXXFLAGS})
+ set(CMAKE_CXX_FLAGS $ENV{CXXFLAGS})
+endif(DEFINED ENV{CXXFLAGS})
+
+if(NOT CMAKE_CXX_FLAGS)
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(CMAKE_CXX_FLAGS "-march=i686 -mtune=generic -mfpmath=sse -msse -msse2 -ansi")
+ elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(CMAKE_CXX_FLAGS "-m64 -march=x86-64 -mtune=generic -msse -msse2 -ansi")
+ endif()
+endif(NOT CMAKE_CXX_FLAGS)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+
+# Omit "argument unused during compilation" when clang is used with ccache.
+if(${CMAKE_CXX_COMPILER} MATCHES "ccache")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments")
+endif()
+# Omit "conversion from string literal to 'char *' is deprecated" warnings.
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-writable-strings")
+# Omit "unknown pragma ignored" warnings.
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas")
+# Omit "... antiquated header ..." warnings. This is caused by clang's usage of GNU/GCC's hash_map.
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics")
+
+set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wextra -Wshadow")
+set(CMAKE_EXE_LINKER_FLAGS "-Wl,-O1 -Wl,--as-needed")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "-Wl,--strip-all")
diff --git a/toolchain-gcc.cmake b/toolchain-gcc.cmake
new file mode 100644
index 0000000..9dc3aa6
--- /dev/null
+++ b/toolchain-gcc.cmake
@@ -0,0 +1,27 @@
+# GCC
+
+unset(CMAKE_CXX_FLAGS)
+if(DEFINED ENV{CXXFLAGS})
+ set(CMAKE_CXX_FLAGS $ENV{CXXFLAGS})
+endif(DEFINED ENV{CXXFLAGS})
+
+if(NOT CMAKE_CXX_FLAGS)
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(CMAKE_CXX_FLAGS "-march=i686 -mtune=generic -mfpmath=sse -msse -msse2 -ansi")
+ elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(CMAKE_CXX_FLAGS "-m64 -march=x86-64 -mtune=generic -msse -msse2 -ansi")
+ endif()
+endif(NOT CMAKE_CXX_FLAGS)
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -funroll-loops -fsigned-char")
+
+# Omit "deprecated conversion from string constant to 'char*'" warnings.
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-write-strings")
+# Omit "unused parameter 'foo'" warnings.
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
+
+set(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wextra -Wshadow")
+set(CMAKE_EXE_LINKER_FLAGS "-Wl,-O1 -Wl,--as-needed")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "-Wl,--strip-all")
diff --git a/toolchain-msvc.cmake b/toolchain-msvc.cmake
new file mode 100644
index 0000000..63d4c66
--- /dev/null
+++ b/toolchain-msvc.cmake
@@ -0,0 +1,48 @@
+# Visual Studio
+
+set_property(GLOBAL PROPERTY DEBUG_CONFIGURATIONS Debug Debug_SSE Debug_SSE2 Debug_AVX)
+
+# Base
+set(CMAKE_C_FLAGS "/MP /GS- /analyze- /Zc:wchar_t /errorReport:prompt /WX- /Zc:forScope /Gd /EHsc /nologo")
+set(CMAKE_CXX_FLAGS "/MP /GS- /analyze- /Zc:wchar_t /errorReport:prompt /WX- /Zc:forScope /Gd /EHsc /nologo")
+set(CMAKE_EXE_LINKER_FLAGS "/MANIFEST /DYNAMICBASE:NO /MAPINFO:EXPORTS /SAFESEH:NO /MANIFESTUAC:NO /ERRORREPORT:PROMPT /NOLOGO")
+
+# Release
+set(CMAKE_C_FLAGS_RELEASE "/GL /W2 /Gy- /Zi /O2 /Ob2 /fp:fast /GF /Oy /Oi /MT")
+set(CMAKE_CXX_FLAGS_RELEASE "/GL /W2 /Gy- /Zi /O2 /Ob2 /fp:fast /GF /Oy /Oi /MT")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /INCREMENTAL:NO /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libci.lib")
+
+# Release SSE
+set(CMAKE_C_FLAGS_RELEASE_SSE "${CMAKE_C_FLAGS_RELEASE} /arch:SSE")
+set(CMAKE_CXX_FLAGS_RELEASE_SSE "${CMAKE_CXX_FLAGS_RELEASE} /arch:SSE")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE_SSE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
+
+# Release SSE2
+set(CMAKE_C_FLAGS_RELEASE_SSE2 "${CMAKE_C_FLAGS_RELEASE} /arch:SSE2")
+set(CMAKE_CXX_FLAGS_RELEASE_SSE2 "${CMAKE_CXX_FLAGS_RELEASE} /arch:SSE2")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE_SSE2 "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
+
+# Release AVX
+set(CMAKE_C_FLAGS_RELEASE_AVX "${CMAKE_C_FLAGS_RELEASE} /arch:AVX")
+set(CMAKE_CXX_FLAGS_RELEASE_AVX "${CMAKE_CXX_FLAGS_RELEASE} /arch:AVX")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE_AVX "${CMAKE_EXE_LINKER_FLAGS_RELEASE}")
+
+# Debug
+set(CMAKE_C_FLAGS_DEBUG "/W4 /Gy /ZI /Od /RTC1 /Gd /Oy- /MTd")
+set(CMAKE_CXX_FLAGS_DEBUG "/W4 /Gy /ZI /Od /RTC1 /Gd /Oy- /MTd")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG /INCREMENTAL /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libci.lib")
+
+# Debug SSE
+set(CMAKE_C_FLAGS_DEBUG_SSE "${CMAKE_C_FLAGS_DEBUG} /arch:SSE")
+set(CMAKE_CXX_FLAGS_DEBUG_SSE "${CMAKE_CXX_FLAGS_DEBUG} /arch:SSE")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG_SSE "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
+
+# Debug SSE2
+set(CMAKE_C_FLAGS_DEBUG_SSE2 "${CMAKE_C_FLAGS_DEBUG} /arch:SSE2")
+set(CMAKE_CXX_FLAGS_DEBUG_SSE2 "${CMAKE_CXX_FLAGS_DEBUG} /arch:SSE2")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG_SSE2 "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
+
+# Debug AVX
+set(CMAKE_C_FLAGS_DEBUG_AVX "${CMAKE_C_FLAGS_DEBUG} /arch:AVX")
+set(CMAKE_CXX_FLAGS_DEBUG_AVX "${CMAKE_CXX_FLAGS_DEBUG} /arch:AVX")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG_AVX "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
\ No newline at end of file