Building CBA from source (HEMTT) - CBATeam/CBA_A3 GitHub Wiki
This page describes how you can setup your development environment for CBA, allowing you to properly build CBA and utilize file patching, using HEMTT. For Mikero tools, see Building CBA from source.
Requirements
- Arma 3
- Arma 3 Tools (available on Steam)
- Run Arma 3 and Arma 3 Tools directly from Steam once to install registry entries (and again after every update)
- [Windows] PowerShell v3.0+
Getting Source Code
To actually get the CBA source code on your machine, it is recommended that you use Git. Tutorials for this are all around the web, and it allows you to track your changes and easily update your local copy.
You can clone CBA with any Git command line client using the following command:
git clone https://github.com/CBATeam/CBA_A3.git
If you just want to create a quick and dirty build, you can also directly download the source code using the "Download ZIP" button on the front page of the GitHub repo.
Setup and Building
Initial Setup
Execute setup.bat
in tools
folder (Windows) or download this HEMTT binary and place hemtt
in project root (Linux).
File Patching Setup
Not available on Linux as there is no officially supported Arma 3 client for Linux.
Navigate to tools
folder in command line.
cd <path-to-cloned-repository>/tools
Create the following links manually. First, create x
folder in your Arma 3 directory. Then run the following command as admin, replacing the text in brackets with the appropriate paths:
mklink /J "[Arma 3 installation folder]\x\cba" "[location of the CBA project]"
You can also use provided setup.py
if you have a P-drive setup by following the same instructions. P-drive is not required for HEMTT or file patching!
Create a Test Build
To create a development build of CBA to test changes or to debug something, execute build.bat
(Windows) or run $ hemtt build
(Linux) in the root folder. This will populate the addons
folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use file patching. This also means that you cannot distribute this build to others.
To start the game using this build, you can use the following modline:
-mod=x\cba
Create a Release Build
To create a complete build of CBA that you can use without the source files, execute build_release.bat
(Windows) or run $ hemtt build --release
(Linux) in the root folder. This will populate the releases
folder with binarized PBOs that you can redistribute. These handle like those of any other mod.
File Patching
File patching is fully supported just like with Mikero Tools.
Disable CBA Function Caching
Reference Disable CBA Function Caching.
Restrictions
Reference Restrictions.