Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Command & Conquer: Tiberian Dawn (Android)
PORTSNATIVE

Command & Conquer: Tiberian Dawn (Android)

NATIVE PORTSTRATEGY / RTSANDROIDMACOSBETA

Command & Conquer: Tiberian Dawn (Android)

Command & Conquer: Tiberian Dawn

OriginWindows

TechnologyNative C/C++ port (engine reimplementation)

Available forAndroid, macOS

View official project

About the project

Command & Conquer: Tiberian Dawn es un videojuego de estrategia publicado por Electronic Arts para Windows, lanzado en 1995.

Official project information

Author's original READMEOpen on GitHub ↗

cnc-port

Native macOS, Android, and iOS source port of Command & Conquer: Tiberian Dawn.

macOS Android iOS Build Runtime Source-only License

cnc-port lets you play Command & Conquer (1995) on a modern Mac. Android and iOS debug builds are available for local development and testing, with SDL2 providing the platform layer.

Command & Conquer running natively in a macOS window

The repository contains source code and build tooling only. To run the game, download the freeware C&C Gold GDI and Nod data described below.

Why This Exists

Command & Conquer was written for a very different desktop world. This project keeps the original source recognizable while making it run on modern macOS, Android, iPhone, and iPad.

It is an unofficial source port based on the source code Electronic Arts released under GPLv3 with additional terms: https://github.com/electronicarts/CnC_Tiberian_Dawn.

Current Status

StatusFeatureNotes
:white_check_mark:macOS on Apple SiliconBuilds and runs with CMake/Ninja. The title menu and tactical game have been exercised.
:white_check_mark:Android debug APKBuilds a local landscape arm64-v8a APK.
:white_check_mark:iOS debug appBuilds a landscape simulator app, which installs and launches. Signed device builds are supported.
:white_check_mark:Core game presentationLocal C&C Gold data, movies, menus, rendering, keyboard, mouse, and touch input are wired up.
:construction:Campaign and save/load validationLater missions, saves, unusual menus, and physical mobile devices still need wider testing.
:x:Release packagesNo distributable macOS app, Android release APK, or iOS release build yet.
:x:Online/network multiplayerNot part of the current milestone.

Quick Start

Install the macOS build tools:

brew install cmake ninja pkg-config sdl2
xcode-select --install

Build the port:

cmake -S . -B build -G Ninja
cmake --build build --target cnc_mac -j 8

Prepare your local game data:

scripts/prepare_assets_from_local.sh \
  --gdi /path/to/gdi-disc \
  --nod /path/to/nod-disc

Run:

scripts/run_mac_dev.sh --no-build

To build and run the Android debug APK, follow the Android prerequisites below, keep the same prepared data under assets/cnc, then run:

scripts/build_android_debug.sh
scripts/run_android_debug.sh --no-build

To build and run the iOS simulator debug app, install full Xcode, keep the same prepared data under assets/cnc, then run:

scripts/build_ios_debug.sh
scripts/run_ios_simulator.sh --no-build

Game Data

The repository does not contain game data, movies, music, disc images, archives, installers, or packaged executables.

Freeware C&C Gold

Electronic Arts released the original Command & Conquer as freeware in 2007. The old EA download page is no longer live, but the community maintains current download pages. For this port, use the Windows 95 C&C Gold disc images:

  • GDI CD for Windows 95
  • Nod CD for Windows 95
  • C&C Gold installer for modern Windows, if you want a ready-to-play Windows installation as well
  • CnCNet's download guide, including its note on the official freeware release

Those downloads are hosted by community sites, not by this project or EA. Download the GDI and Nod archives, mount or extract the disc images, then give their disc-root paths to the asset preparation script.

The asset preparation script copies the C&C Gold GDI and Nod disc trees from paths that you provide:

  • assets/cnc/gdi
  • assets/cnc/nod

Each disc tree needs its original disc-root files plus the installed files from INSTALL/SETUP.Z, including INSTALL/CONQUER.INI, CCLOCAL.MIX, and UPDATE.MIX.

Those directories are ignored by Git. The Android and iOS debug builds use the same local tree and bundle it only into generated debug artifacts. Do not commit the assets or distribute debug packages that contain them.

Build From Source

Configure and build:

cmake -S . -B build -G Ninja
cmake --build build --target cnc_mac -j 8

If Ninja is not installed, omit -G Ninja and CMake will use its default generator.

The build creates a normal macOS executable:

build/cnc_mac

It is not packaged as a .app bundle yet.

Run

The normal development command builds if needed, verifies the local data, signs the executable for local use, and launches it from the repository root:

scripts/run_mac_dev.sh

Useful variants:

scripts/run_mac_dev.sh --no-build
scripts/run_mac_dev.sh --prepare-only

Runtime files such as saves, options, screenshots, logs, and generated palette caches are ignored by Git.

Android Debug APK

The Android target is for local development and testing. It builds an arm64-v8a landscape debug APK and copies the prepared local game data into the app on first launch.

Install Android tooling:

  • JDK 17
  • Gradle compatible with Android Gradle Plugin 9.2.0
  • Android SDK Platform 36 and Build Tools
  • Android NDK 28.2.13676358
  • Android CMake and platform-tools for adb

Android Studio is the easiest way to install the SDK, NDK, CMake, emulator, and platform-tools. On Homebrew-based macOS, the helper scripts detect common JDK and Android SDK locations when JAVA_HOME, ANDROID_HOME, and ANDROID_SDK_ROOT are not already set.

Build the debug APK:

scripts/build_android_debug.sh

The first build downloads SDL2 to ignored local storage under android/third_party/. The APK is written to:

android/app/build/outputs/apk/debug/app-debug.apk

Install and launch on a connected device or emulator:

scripts/run_android_debug.sh --no-build

If an emulator needs a clean install, use:

scripts/run_android_debug.sh --no-build --fresh-install

--fresh-install removes existing app data, including extracted assets and saves. Add --logcat to tail the app log after launch.

The debug APK includes your local game data so it can run without external storage setup. Do not distribute it.

iOS Debug App

The iOS target is also for local development and testing. It builds a landscape app for the simulator by default, or a signed arm64 device app when you provide an Apple development team.

Install:

  • Full Xcode, not only Command Line Tools
  • CMake
  • Local C&C data prepared under assets/cnc

Build the simulator app:

scripts/build_ios_debug.sh --simulator

The first build downloads SDL2 to ignored local storage under ios/third_party/. The simulator app is written to:

ios/build-simulator/Debug-iphonesimulator/cnc_ios.app

Install and launch it on a booted simulator:

scripts/run_ios_simulator.sh --no-build

Build a signed device app for iPhone or iPad:

CNC_IOS_DEVELOPMENT_TEAM=TEAMID scripts/build_ios_debug.sh --device

The debug iOS app copies bundled data into its writable sandbox so saves and options work normally. Do not distribute the generated app bundle.

Fullscreen

Start fullscreen:

RA_FULLSCREEN=1 scripts/run_mac_dev.sh

Toggle fullscreen while running:

Command+Return

Tests

Run the source-level and script checks:

tests/run_script_tests.sh

Asset-backed keyframe decoding runs when assets/cnc/gdi/CONQUER.MIX is present. The test is skipped in a source-only checkout, so GitHub Actions does not require game data.

Validate a fresh macOS checkout with a full build first:

cmake -S . -B build -G Ninja
cmake --build build --target cnc_mac -j 8
tests/run_script_tests.sh

Project Layout

PathPurpose
CODE/Main Command & Conquer game code
PORT/MAC/macOS runtime, compatibility shims, and SDL2 integration
PORT/ANDROID/Android entrypoint and platform-specific setup
PORT/IOS/iOS entrypoint and writable sandbox resource setup
android/Gradle app that builds the debug APK
ios/CMake/Xcode iOS app target
WIN32LIB/, WINVQ/Legacy support libraries used by the port
scripts/Asset preparation, build, run, and smoke-test helpers
tests/Focused source-level and compatibility tests
docs/images/README images only, not game data

Contributing

The port is intentionally conservative: keep the original source layout and behavior recognizable, and prefer small platform-specific support files over broad rewrites. Good next areas are campaign/save-load validation, physical device testing, macOS packaging, release-safe asset installation, and broader CI coverage.

Network and online multiplayer are out of scope for the current milestone.

License And Notice

The source code is distributed under GPLv3 with additional terms. See LICENSE.md.

This is an unofficial modified source port. It is not affiliated with, endorsed by, sponsored by, or supported by Electronic Arts or any other rights holder. See NOTICE.md.

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Strategy / RTS
Status
beta
Original platform
Windows
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 2

Android
macOS
View on GitHub
Advertisement