Portability
The Portability section provide informations about Operating System supported, Compilers and Development Environment tools.
C++17
xtd support C++17 or above.
As of 2018, C++17 is the name for the most recent 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 backend like xtd.forms.native.qt5 will be ported too.
Operating System Supported
Actually xtd run on Windows, macOS, Linux, iOS and Android Operating System.
Windows 10 - 32 and 64 bits or later
macOS 10.15 (OS X Catalina) - 64 bits or later
Linux - 32 and 64 bits
CentOS 7 or later
Debian 9.2.1 or later
Elementary OS 0.4 or later
Fedora 26 or later
LinuxMint 18.2 or later
Redhat 7.4 or later
Ubuntu 18.04 or later
Other distribution [manual installation]
Unix - 32 and 64 bits
FreeBSD 13 or later
iOS 14 - 64 bits or later [manual installation]
android 10 64 bits or later [manual installation]
The xtd libraries portability list
Library | Windows | macOS | Linux | FreeBSD | iOS | Android |
---|---|---|---|---|---|---|
xtd.core | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
xtd.drawing | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
xtd.forms | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
xtd.tunit | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Tests and coverage
xtd is every time tested with Continuous Integration tools.
AppVeyor
Configurations :
- Visual Studio 2019 Win32
- Visual Studio 2019 Win64
Travis CI
Configurations :
- macOS Xcode 11.6
- linux g++ 9
Codecov
Development Environment Tools
With CMake, xtd support many Development Environment Tools.
Microsoft Visual Studio 2019 or later
Xcode 11.6 or later
Microsoft Visual Studio Code
CLion 2017.2 or later
Eclipse CDT 8.0 or later
Code::Blocks 13.12 or later
KDevelop 3 or later
CodeLite 11 or later
Qt Creator
Standard Unix makefile
Compilers
The compilers listed below are supported with xtd :
- Xcode 11.6 - Apple clang version 11.0.3 or later
- clang 10 or later
- GCC 10 or later
- Visual Studio 2019 RTW 16.0 or later
Native
xtd has a thin layer by library if needed to abstract operating system. This layer is called naturally native.
For add a new Operating System, you juste have to implement native api for the new target Operating System.