For convenience, you will probably want either Homebrew or Macports installed for setting up certain prerequisites. If you don't have either yet, Homebrew is recommended.
-
macOS 13+
- While building may work on prior versions of macOS, CI only tests on macOS 13+.
-
Xcode 14+ (tested w/: Xcode 14.x)
- If you do not have Xcode 14.3.1+ you can get it for free at the Mac App Store or Apple's website.
- Earlier versions of Xcode may work, but are not tested by CI.
-
CMake 3.24+ (required to generate the Xcode project)
- If you do not have CMake 3.24+, you can download the latest stable version for free at CMake.org.
-
Autoconf (required to compile some vcpkg ports)
- If you have Homebrew installed, you can use the following command in Terminal:
brew install automake
See Homebrew/homebrew-core#21125 for why the
automake
package must be installed instead ofautoconf
- If you have Homebrew installed, you can use the following command in Terminal:
-
Gettext (required to compile the translations and language files)
-
Asciidoctor (required to build the documentation / help files)
- If you have Homebrew installed, you can use the following command in Terminal:
brew install asciidoctor
- If you have Macports installed, you can use the following command in Terminal:
sudo port install asciidoctor
- Or, via
gem install
:gem install asciidoctor --no-document
Depending on system configuration,
sudo gem install
may be required.
- If you have Homebrew installed, you can use the following command in Terminal:
Note
Since Xcode supports targeting older versions of macOS as a minimum deployment target, we recommend building with versions of macOS + Xcode that match the recommendations above (or newer).
While CI does not test these combinations, WZ's CMake buildsystem previously compiled with:
- Xcode 11+ on macOS 10.15
- Xcode 8 / 9 / 10 on macOS 10.12-10.14
However, this is not tested - just a guideline if you want to try something unsupported.
Generating the macOS port's build environment & configuration requires the following steps in Terminal:
The recommended place for the build directory is outside of the Git repo / source code.
For example,
- if you wanted to create a build directory one level up from the Git repo / source code
- and you cloned the Git repo to
~/src/warzone2100
you could use the following commands:
cd ~/src/
mkdir wz_build
-
cd
into the build directory you created in the step abovecd wz_build
-
Run the
configure_mac.cmake
script:cmake -P "../warzone2100/configure_mac.cmake"
Where the
../warzone2100/configure_mac.cmake
path should be modified to point toconfigure_mac.cmake
inside the Git repo / source code directory.
The configure_mac.cmake
script will automatically:
- Download + extract the Vulkan SDK (on macOS 10.14+ only - required for Vulkan / Metal support)
- Download + build vcpkg
- Build required dependencies
- Run CMake to generate the Xcode project
The macOS port is built using the Xcode project generated by CMake. If following the instructions above, this will be located in your build directory:
<path_to_build_directory>/warzone2100.xcodeproj
To build the game from the command-line:
-
cd
into your build directory that contains the generatedwarzone2100.xcodeproj
-
Run the following command:
xcodebuild -project warzone2100.xcodeproj -target warzone2100 -configuration Release -destination "platform=macOS"
You can also simply open the project in Xcode, and build the warzone2100
scheme. (You may want to tweak it to build in a Release configuration - the default for that scheme in "Run" mode is Debug, for easier development.)
The macOS port produces a 64-bit self-contained application bundle that requires macOS 10.12+* to run.
* See Setup & Configuration for how to set the minimum deployment target.
If built on macOS 10.14+, the application will support both the OpenGL and Vulkan (Metal) backends on macOS.
The macOS port supports sandboxing, but this requires code-signing to be configured in the Xcode project. (By default, code-signing is disabled in the Xcode project.)