Origin Repository for SCP FreeSpace 2 Open
Switch branches/tags
volition_import@5 volition_import test_tag release_3_8_0 release_3_8_0_RC4 release_3_8_0_RC3 release_3_8_0_RC2 release_3_8_0_RC1 ogl_core_merge nightly_20181119_0a429e8 nightly_20181114_1eea298 nightly_20181113_e5be237 nightly_20181111_45559c1 nightly_20181107_0396d56 nightly_20181106_6b425c1 nightly_20181029_3ac7864 nightly_20181028_f975edd nightly_20181026_a32c5da nightly_20181025_eb01258 nightly_20181024_17b01fa nightly_20181023_e1db71f nightly_20181021_e19a6f9 nightly_20181018_8fee980 nightly_20181015_115d06a nightly_20181013_842dbb1 nightly_20181012_73482a6 nightly_20181009_9fcd96f nightly_20181008_9daeb7f nightly_20181001_11f9175 nightly_20180930_94df277 nightly_20180929_da5e7f1 nightly_20180928_d24d536 nightly_20180924_e2fb4d8 nightly_20180921_5206aaa nightly_20180920_98e37b2 nightly_20180919_e04f1b4 nightly_20180918_3a8c10b nightly_20180917_8fe7dc4 nightly_20180911_138a1d0 nightly_20180908_bc03442 nightly_20180907_18d2ef8 nightly_20180903_f717c41 nightly_20180830_01f418f nightly_20180829_b0d3957 nightly_20180828_af8ae03 nightly_20180824_98234c3 nightly_20180822_50691c41 nightly_20180820_3e54372 nightly_20180819_b7a3232 nightly_20180818_aa0e1c7 nightly_20180814_1307636 nightly_20180811_62d178d nightly_20180729_8a26411 nightly_20180728_7cd1720 nightly_20180727_d58bd7d nightly_20180725_6939403 nightly_20180723_aede651 nightly_20180721_5bfcd1d nightly_20180720_4353d4d nightly_20180717_fac618c nightly_20180716_9908380 nightly_20180715_7f5168e nightly_20180714_3d653bd nightly_20180713_4fbc0d0 nightly_20180712_ea2656e nightly_20180711_ccc727a nightly_20180710_2dc2c06 nightly_20180709_36b9748 nightly_20180707_8384422 nightly_20180706_646fb64 nightly_20180704_fb0ff8f nightly_20180702_130057c nightly_20180630_c2a5217 nightly_20180629_9d907c9 nightly_20180628_cf1cc5e nightly_20180624_3b2b58e nightly_20180622_bd5a4c4 nightly_20180618_0325799 nightly_20180616_13b26fd nightly_20180611_15bda8c nightly_20180606_268828f nightly_20180603_b848823 nightly_20180602_04b0f5b nightly_20180601_fdbba84 nightly_20180530_45ddc8a nightly_20180529_243a5bb nightly_20180527_f45dcfc nightly_20180518_469270d nightly_20180506_a90e480 nightly_20180502_56c34ee nightly_20180430_3790315 nightly_20180424_2721c45 nightly_20180421_3507cf9 nightly_20180419_e2e7eac nightly_20180416_6df837e nightly_20180415_a3d2320 nightly_20180414_299e584 nightly_20180413_7469558 nightly_20180410_ae17e3f nightly_20180409_d309644
Nothing to show
Clone or download
TRBlount Merge pull request #1931 from asarium/fix/qtAppveyorNightlies
Also fix Appveyor Qt path for nightly builds
Latest commit 0a429e8 Nov 18, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci Also fix Appveyor Qt path for nightly builds Nov 18, 2018
cmake Test Windows compilation with Travis CI Oct 20, 2018
code Fix rvalue reference issue in SetHookVar Nov 18, 2018
coverity Fix coverity scan triggered from travis Aug 6, 2016
documentation/doxygen Fix empty documentation/doxygen using .gitkeep and global .gitignore … May 5, 2015
fred2 Merge pull request #1880 from Goober5000/play_dead_persistent Oct 24, 2018
freespace2 Merge pull request #1912 from asarium/cleanup/noOldCollision Nov 10, 2018
lib Add new libRocket UI system Sep 16, 2018
qtfred Merge pull request #1880 from Goober5000/play_dead_persistent Oct 24, 2018
scripts Improve handling of environment redrawing Mar 22, 2017
test Test Windows compilation with Travis CI Oct 20, 2018
tools Enable modernize-deprecated-headers Apr 25, 2018
wxfred2 Move build system to CMake Jul 22, 2016
.clang-format Add more generic scripting callback system Jul 2, 2018
.clang-tidy Add new libRocket UI system Sep 16, 2018
.drone.yml Add TeaCI config file Apr 21, 2018
.editorconfig Apply clipping planes to passthrough shader Mar 30, 2017
.gitignore Add new libRocket UI system Sep 16, 2018
.gitmodules Add new libRocket UI system Sep 16, 2018
.travis.yml Test Windows compilation with Travis CI Oct 20, 2018
AUTHORS New files for autoconf/automake support. Mar 2, 2003
CMakeLists.txt Merge pull request #1714 from asarium/qtfred2_/linuxqtdeploy Aug 13, 2018
COPYING Testing commits. Sep 7, 2003
ChangeLog sync to trunk 10046 Nov 25, 2013
FS2OpenSCPReadMe.doc Readme word doc Mar 2, 2003
INSTALL forgot to include autoconf/automake versions Dec 30, 2005
NEWS New files for autoconf/automake support. Mar 2, 2003
Readme.md formatting update Feb 18, 2017
appveyor.yml Fix Appveyor Qt directory Nov 13, 2018
fs2open.Doxyfile.in Move build system to CMake Jul 22, 2016


FreeSpace2 Source Code Project

Travis-CI Build Status AppVeyor Build Status Coverity


Before you do anything, make sure you have updated your git submodules, either by running git submodule update --init --recursive or by cloning the repository with the --recursive flag.

For building you will need CMake. Version 3.4 is required. Once you have installed CMake you should create a build directory where the project/make files should be created, do not create them inside the source tree!

On Windows you can use the cmake-gui executable to get a nice GUI, on Unix just use cmake. Use the newly created directory as build directory (change to this directory on Unix) and run cmake. On Windows this can be done by clicking the Configure button. Choose your compiler version and hit Generate when configuring is done.
Depending on the makefile generator used build the all or ALL_BUILD target to compile the project.

Available variables to control the build

  • FSO_BUILD_WXFRED2: Build the wxfred2 project, requires wxWidgets
  • FSO_FREESPACE_PATH: Sets the path of your FreeSpace install, can be used to automatically run the generated executables with the correct working directory, this is an optional variable. By default this will use the value of the FS2PATH environment variable.
  • FSO_BUILD_TOOLS: Build some tools related to FSO
  • CMAKE_BUILD_TYPE: Sets the binary build type between Debug and Release (default)

Windows only variables

  • FSO_BUILD_FRED2: Build FRED2, requires a Visual Studio version that ships with MFC
  • FSO_USE_SPEECH: Build a binary with text-to-speech support
  • FSO_USE_VOICEREC: Build a binary with voice recognition support

Advanced variables

You should only use these variables if you know what you're doing

  • FSO_CMAKE_DEBUG: Print CMake debugging informations
  • FSO_BUILD_INCLUDED_LIBS: Build libraries from the included source
  • FSO_USE_OPENALSOFT: Use OpenALSoft for OpenAL support
  • FSO_USE_LUAJIT: Use luajit as a replacement for lua
  • FSO_DEVELOPMENT_MODE: Toggles some development behavior, only use if you really need it.
  • FSO_RUN_ARGUMENTS: If you run an executable from within the project, these arguments will also be passed to the executable
  • FSO_BUILD_POSTFIX: Sets a postfix to be added to the executable name, may be useful for release candidates.

Visual Studio specific variables

  • MSVC_USE_RUNTIME_DLL: Use the DLL version of the runtime, experimental and not well tested.
  • MSVC_SIMD_INSTRUCTIONS: The instruction set the executables will be optimized for.

Generating an installation package

CMake can automatically generate installation packages of the project. To do this you will just need to run the package target of the build system and the package will be placed inside your build directory. On Windows you will have to install NSIS to use this.