Skip to main content

Portability

The Portability section provides information about supported Operating Systems, compilers, and development environment tools.

C++20

xtd 0.2.0 and later requires C++20 or above.

As of 2020, C++20 is the name for the most recent major revision of the ISO/IEC 14882 standard for the C++ programming language.

For more information see wikipedia and cppreference.

Libraries dependency

xtd is currently in development mode and the only xtd.forms.native.wxwidgets backend is supported.

wxWidgets 3.2.2.1 will be automatically installed with xtd.

In the future, xtd.forms will use xtd.forms.native.win32 on Windows, xtd.forms.native.cocoa on macOS, and xtd.forms.native.gtk4 on Linux. Other backends like xtd.forms.native.qt5 may be ported too.

Operating System Supported

xtd currently runs on Windows, macOS, Linux, iOS, and Android operating systems.

Windows

Windows

xtd is supported on Windows 10 or later, where Win32 APIs are used for native integration.

macOS

macOS

Linux

CentOS

CentOS

Debian

Debian

Elementary

Elementary OS

Fedora

Fedora

LinuxMint

LinuxMint

Redhat

Redhat

Ubuntu

Ubuntu

Other distribution [manual installation]

Linux

Unix - 32 and 64 bits

FreeBSD 13 or later

FreeBSD

Haiku R1/beta5 or later

Haiku

iOS 64 bits [manual installation]

iOS

Android 64 bits [manual installation]

android

Note

⚠️ Note
While xtd can be built and run on iOS and Android, full graphical support (xtd.forms) is currently not available on these platforms.

The xtd libraries portability list

OS / Libraryxtd.corextd.drawingxtd.formsxtd.tunit
Android✔️✔️
FreeBSD✔️✔️✔️✔️
Haiku✔️✔️
iOS✔️✔️
Linux✔️✔️✔️✔️
macOS✔️✔️✔️✔️
Windows✔️✔️✔️✔️

Tests and coverage

xtd is continuously tested with CI tools.

GitHub Actions

GitHubActions

Configurations:

  • Windows: Visual Studio 2022 (Win32 and Win64)
  • macOS: Xcode 15.0
  • Linux: GCC 11 and Clang 14

Codecov

Codecov

Test coverage reports are automatically uploaded to Codecov after each build.

Development Environment Tools

With CMake, xtd supports many development environment tools.

Microsoft Visual Studio

VisualStudio

Xcode 14.2 or later

Xcode

Microsoft Visual Studio Code

VisualStudioCode

CLion

CLion

Eclipse CDT

EclipseCDT

Code::Blocks

CodeBlocks

KDevelop

KDevelop

CodeLite

CodeLite

Qt Creator

Qt

Standard Unix makefile

LinuxMakefile

Compilers

The compilers listed below are supported with xtd :

  • Apple Clang 14.0.0 (Xcode 14.2) or later
  • Clang 14.0.0 or later
  • GCC 11.0 or later
  • Microsoft Visual Studio 2022 (MSVC 14.30) or later

Native

xtd has a thin layer by library if needed to abstract operating system. This layer is called naturally native.

To add support for a new operating system, you simply need to implement the corresponding native API for that target.

Native API by library

See also