Q: What is bam?
Bam is the build system made by matricks used in Teeworlds.
- Download and install Visual Studio 2017 Community.
- Download and unzip Teeworlds source or Teeworlds latest source
- Download and install Python 3.x
- Download and unzip bam to
teeworlds-version\bam- Run
make_win64_msvc.bat(ormake_win32_msvc.batfor x86) to compile bam - Note: Bam does not recognise Visual Studio 2017. As a workaround, to compile bam, run the aforementioned batch script from the
x64 Native Tools Command Prompt(orx86 Native Tools Command Promptfor x86)
- Run
- Run the
x64 Native Tools Command Prompt(orx86 Native Tools Command Promptfor x86) from the start menu. cd teeworlds-version- Changes to the teeworlds source directory
.\bam\bam config- Runs bam configuration
.\bam\bam conf=release- Compiles teeworlds (Client and Server)
conf=debugwill build the debug version instead- You can also provide a target:
game(default)serverclientcontentmasterservertools
- For example, to build the tools and master server in release mode use the following arguments:
.\bam\bam conf=release tools masterserver
- Flag
-fwill force a recompile
- The compiled game is located at
teeworlds-version\build\x86_64\(orteeworlds-version\build\x86\for x86)
- Run the
x64 Native Tools Command Prompt(orx86 Native Tools Command Promptfor x86) from the start menu. cd teeworlds-version- Changes to the teeworlds source directory
.\bam\bam release- Compiles teeworlds (Client and Server)
- Available targets for release and debug are:
release(for all in release mode)debug(for all in debug mode)server_releaseserver_debugclient_releaseclient_debug
- The compiled game is located in
teeworlds-version
Note: Teeworlds 0.5.2 and earlier requires Python 2.x to compile. Python 3.x will not work. Python 3.x support is introduced with Teeworlds 0.6.0.
Note: Teeworlds 0.5.2 and earlier requires bam 0.2.0. The bam binary will not be in the bam directory, but in bam\src. You will need to change the paths accordingly to that or copy/move the bam executable to the bam directory.