Portability

The Portability section provide informations about Operating System suported, Compilers and Development Environment tools.

In this section

 

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.form.native.wxwidgets backend is supported.

 

wxWidgets 3.1.4 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

 
 
 
Windows.png

macOS 10.15 (OS X Catalina) - 64 bits or later

macOS.png

 

Linux - 32 and 64 bits

CentOS 7 or later

CentOS.png

Debian 9.2.1 or later

Debian.png

Elementary OS 0.4 or later

ElementaryOS.png

Fedora 26 or later

Fedora.png

LinuxMint 18.2 or later

LinuxMint.png

Redhat 7.4 or later

Redhat.png

Ubuntu 18.04 or later

Ubuntu.png

Other distribution [manual installation]

Linux.png

iOS 14 - 64 bits or later [manual installation]

iOS.png

android 10 64 bits or later [manual installation]

Android.png

The xtd libraries portability list

 
Name
Windows
macOS
Linux
iOS
Android
xtd.core
Yes
Yes
Yes
Yes
Yes
xtd.drawing
Yes
Yes
Yes
No
No
xtd.forms
Yes
Yes
Yes
No
No
xtd.tunit
Yes
Yes
Yes
Yes
Yes

Tests and coverage

xtd is every time tested with Continuous Integration tools.

 

AppVeyor

 
AppVeyor.png

Configurations :

  • Visual Studio 2019 Win32

  • Visual Studio 2019 Win64

Travis CI

 

TravisCI.png

 

Configurations :

  • macOS Xcode 11.6

  • linux g++ 9

Codecov

Codecov_edited.png

Development Environment Tools

With CMake, xtd support many Development Environment Tools.

 

Microsoft Visual C++ 2019 or later

 

 
VisualStudio.png

Xcode 11.6 or later

 

Xcode.png

Visual Studio Code

VisualStudioCode.png

CLion 2017.2 or later

 

CLion.png

Eclipse CDT 8.0 or later

 

EclipseCDT.png

Code::Blocks 13.12 or later

 

CodeBlocks.png

KDevelop 3 or later

 

KDevelop.png

CodeLite 11 or later

 

CodeLite.png

Qt Creator

QtCreator.png

Standard Unix makefile

 

LinuxMakefile.png

  

Compilers

 

The compilers listed below are supported with xtd :

  • MSVC 2019 or later

  • clang version 11.0.3 (clang-1103.0.32.62) - Xcode 11.5 or later

  • GCC 9 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.

 

Native API by library

 

xtd.drawing

xtd.forms

See also