To read the most recent compilation guide, please visit: http://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_-_Compilation_Guide Build process outputs TDM binaries to relative path "../darkmod", so you are strongly advised to have the following directory structure: [base_tdm_path]/darkmod <-- darkmod game location (contains e.g. TheDarkMod.exe) [base_tdm_path]/darkmod_src <-- source code location (contains e.g. TheDarkMod.sln) == Compiling on Windows == Microsoft Visual Studio 2022 (VS2022) is used to build TDM on Windows. Open solution file TheDarkMod.sln to start working. Choose appropriate platform and configuration, then build solution. All built executables will be put into "../darkmod" directory, potentially replacing the TDM executables already located there. You can use VS2022 Community Edition. During installation, make sure to enable "Visual C++ MFC for x86 and x64", along with everything "Desktop development with C++" workflow enables. == Compiling on Linux == You need GCC with C++17 support to build TDM on Linux. I believe the minimum version is 7 or 8. CMake >= 3.14 is required to build TDM. You first need to create a build directory. Easiest option is to create a subdirectory in the source code root directory ("darkmod_src"): mkdir build && cd build From your build directory, call CMake: cmake -DCMAKE_BUILD_TYPE="Release" .. The '..' indicate the path to the source directory. If you chose a different location for your build directory instead of the suggested subdirectory, you have to adjust this parameter accordingly. Finally, build TDM by calling make -j where the '-j' parameter instructs make to build the project in parallel for faster compile times. If you wish to compile a debug executable, pass '-DCMAKE_BUILD_TYPE="Debug"' to the CMake call. === Ubuntu 20.04: native === The best approach is to build 64-bit binaries on 64-bit OS. The exact list of packages may vary, for some reason I had to install a ton of them. Here is some of them: sudo apt-get install cmake sudo apt-get install subversion //embedding revision number into code sudo apt-get install mesa-common-dev //OpenGL sudo apt-get install xorg-dev //various X-related stuff Now run CMake as instructed above. === Ubuntu 20.04: 32-bit version on 64-bit OS === If you have 64-bit Linux, you can also build and run 32-bit TDM. Note that this approach is slightly more complicated. You have to install the packages like this: sudo apt-get install g++-multilib //basic C++ build for 32-bit sudo apt-get install mesa-common-dev:i386 //32-bit version of mesa-common-dev Then you need to call CMake with a toolchain file to target 32-bit: cmake -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE="../sys/cmake/gcc_32bit.cmake" .. The 64-bit and 32-bit versions can be built independently on a single 64-bit Linux, but you need to use different build directories for each version. == Details == If you work with SVN, please make sure that "svnversion" command works properly in OS console. In case of Windows, install TortoiseSVN with "command line client tools" included. In case of Linux, it is included in "subversion" package. If you build TDM yourself, run it, and then open TDM console, you should see the correct SVN revision number in the lower-right corner.