Skip to main content
FreeRDP uses CMake as its build system and supports Linux, macOS, Windows, Android, and iOS. This page covers the build system fundamentals. For platform-specific instructions follow the links at the bottom of this page.

Requirements

  • CMake >= 3.13
  • A C compiler (GCC, Clang, or MSVC)
  • Ninja (recommended) or another CMake-supported generator

Build types

Pass -DCMAKE_BUILD_TYPE=<type> to CMake to select a build type.

General build example

Assume source is at /tmp/freerdp/src and you want to install to /tmp/freerdp/install:
On Windows this command must be run from a Visual Studio Developer Command Prompt or a cmd session that has already executed vcvarsall.bat. Paths must be adjusted for Windows conventions.

Key CMake flags

Build verbosity and assertions

SSL

Authentication

JSON

H.264 / graphics

Audio

Platform support (Linux)

Client and server

CMake preload files

The repository ships preload files under ci/cmake-preloads/ that capture recommended configurations for each platform. Apply one with:
You can also use ccmake (Linux/macOS) for an interactive curses UI to inspect and change the current CMakeCache.txt.

Dependencies summary

Platform-specific guides

Linux

Ubuntu/Debian and Fedora build instructions.

macOS

Homebrew-based build with OpenSSL setup.

Windows

MSVC and MinGW cross-compilation.

Android

NDK and Android Studio build.

iOS

Xcode and iOS simulator build.