FreeSpace2 Source Code Project
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
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_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
FSO_BUILD_TOOLS: Build some tools related to FSO
CMAKE_BUILD_TYPE: Sets the binary build type between
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
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.