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
xtd is supported on Windows 10 or later, where Win32 APIs are used for native integration.
macOS
Linux
CentOS
Debian
Elementary
Fedora
LinuxMint
Redhat
Ubuntu
Other distribution [manual installation]
Unix - 32 and 64 bits
FreeBSD 13 or later
Haiku R1/beta5 or later
iOS 64 bits [manual installation]
Android 64 bits [manual installation]
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 / Library | xtd.core | xtd.drawing | xtd.forms | xtd.tunit |
---|---|---|---|---|
Android | ✔️ | ❌ | ❌ | ✔️ |
FreeBSD | ✔️ | ✔️ | ✔️ | ✔️ |
Haiku | ✔️ | ❌ | ❌ | ✔️ |
iOS | ✔️ | ❌ | ❌ | ✔️ |
Linux | ✔️ | ✔️ | ✔️ | ✔️ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ |
Windows | ✔️ | ✔️ | ✔️ | ✔️ |
Tests and coverage
xtd is continuously tested with CI tools.
GitHub Actions
Configurations:
- Windows: Visual Studio 2022 (Win32 and Win64)
- macOS: Xcode 15.0
- Linux: GCC 11 and Clang 14
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
Xcode 14.2 or later
Microsoft Visual Studio Code
CLion
Eclipse CDT
Code::Blocks
KDevelop
CodeLite
Qt Creator
Standard Unix makefile
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.