Support Policy
This document lists the tool chain and dependencies that are currently maintained (and recommended) for using CamiTK in a stable development environment.
Operating Systems
The CamiTK project team is currently using the following platforms on a daily/regular basis (all these platforms are used during continuous integration):
- Linux
- the latest stable version of Debian (aka
Debian stable
orstable
, currently Debian 12 bookworm). It is the base of many distributions - the latest LTS version of ubuntu (aka
Ubuntu LTS
orLTS
, currently Ubuntu 24.04 LTS - Noble Numbat): it is one of the most used distribution among developers and is also the base of many other distributions
- the latest stable version of Debian (aka
- Windows
- Windows 11: it is the dominent OS on desktop computers and some drivers are only supported on Windows (and also there is not really any other version of Windows on the market!). The latest available major version should be supported.
MacOS is known to work, but there is unfortunately no simple way of maintaining a proper/automatic CI system for MacOS.
Toolchain
The following toolchain is used by the CamiTK team:
What | Tool |
---|---|
Application Lifecycle Management | gitlab |
Source Versioning | git (in gitlab) |
Configuration & Build | CMake |
Automatic test | CMake |
Test report and dashboard | CDash and gitlab, gitlab-runner inside dockers (for both Linux and Windows) |
C++ Compiler | Linux = gcc Windows = msvc |
Packager | Debian package (.deb), zip archive |
Source distribution | gitlab |
Binary distribution | camitk website |
C++ Standard version
The latest CXX standard version supported by CamiTK is C++20.
CMake version
The minimum required version of CMake is 3.20. CMake versions up to 3.30 were tested and are known to work. Newer versions should work as well (although they might produce some warnings).
Libraries
The following list are the libraries dependencies required by the four CamiTK Community Edition CEP:
SDK
Name | Min Version(s) |
---|---|
Qt | >= 5.15.2 |
VTK | >= 9.1 |
XSD Code Synthesis | >= 4.0.0 |
xerces-c == 3.2 is itself a dependency of xsdcxx, and therefore is also required
Imaging CEP
Name | Min Version(s) |
---|---|
ITK | >= 5.3.0 |
gdcm | >= 3.0.21 |
Modeling CEP
This CEP has no external dependencies.
Tutorials CEP
This CEP has no external dependencies.
Validation Status Table
This table present all the toolchain and dependencies that are currently used in the CI docker images or that have been manually tested and certified to work.
Category | Name | OS | Version | Manual Validation | CI pipeline Validation |
---|---|---|---|---|---|
Toolchain | git | stable | 2.39.2 | OK | OK |
LTS | 2.43.0 | OK | OK | ||
Windows | 2.45.2 | OK | OK | ||
CMake | stable | 3.25.1 | OK | OK | |
LTS | 3.28.3 | OK | OK | ||
Windows | 3.30.1 | OK | OK | ||
gitlab-runner | Linux | 15.10.1 | N/A | OK | |
Windows | 17.2.1 | N/A | OK | ||
gcc | stable | 12.2.0 | OK | OK | |
LTS | 13.2.0 | OK | OK | ||
clang | LTS | 18.1.3 | OK | not used in CI | |
MSVC++ / cl | Windows | 19.40.33813 (Visual Studio 2022, BuildTools 17.10)1 | OK | OK | |
ninja | stable | 1.11.1 | OK | OK | |
LTS | 1.11.1 | OK | OK | ||
Windows | 1.12.1 | OK | OK | ||
SDK Libraries | Qt | stable | 5.15.8 | OK | OK |
LTS | 5.15.13 | OK | OK | ||
Windows | 5.15.2 | OK | OK | ||
VTK | stable | 9.1.0 | OK | OK | |
LTS | 9.1.0 | OK | OK | ||
Windows | 9.3.1 | OK | OK | ||
xerces-c | stable | 3.2.4 | OK | OK | |
LTS | 3.2.4 | OK | OK | ||
Windows | 3.2.5 | OK | OK | ||
xsd cxx | stable | 4.0.0 | OK | OK | |
LTS | 4.0.0 | OK | OK | ||
Windows | 4.2.0 | OK | OK | ||
Imaging CEP Libraries | ITK | stable | 5.2.1 | OK | OK |
LTS | 5.3.0 | OK | OK | ||
Windows | 5.4rc04 | OK | OK | ||
gdcm | stable | 3.0.21 | OK | OK | |
LTS | 3.0.24 | OK | OK | ||
Windows | 3.0.24 | OK | OK |
1 Identifying the MSVC++ / cl compiler version (as an independent tool from Visual Studio) is difficult. See the wikipedia article, Microsoft Visual Studio workload and component IDs Microsoft documentation, the C++ build tools in the Visual Studio Build Tools component directory and Microsoft Visual Studio release notes for more information
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.