CastXML is a C-family abstract syntax tree XML output tool.
This project is maintained by Kitware in support of ITK, the Insight Segmentation and Registration Toolkit.
See the castxml(1) manual page for instructions to run the tool.
CastXML is licensed under the Apache License, Version 2.0. See the LICENSE and NOTICE files for details.
If you are looking for pre-built binaries, or a compact way to build this project, please see CastXMLSuperbuild.
To build CastXML from source, first obtain the prerequisites:
- A C++ compiler supporting the 
c++11standard language level. - CMake cross-platform build system generator.
 - LLVM/Clang compiler SDK install tree built using the C++ compiler.
This version of CastXML has been tested with LLVM/Clang
- Git 
masteras of 2025-10-16 (5a6756d2a0) - Release 
21.1 - Release 
20.1 - Release 
19.1 - Release 
18.1 - Release 
17.0 - Release 
16.0 - Release 
15.0 - Release 
14.0 - Release 
13.0 - Release 
12.0 - Release 
11.0 - Release 
10.0 - Release 
9.0 - Release 
8.0 - Release 
7.0 - Release 
6.0 - Release 
5.0 - Release 
4.0 - Release 
3.9 - Release 
3.8 - Release 
3.7 - Release 
3.6 
 - Git 
 - Optionally, the Sphinx documentation generator to build documentation.
 
Run CMake on the CastXML source tree to generate a build tree using a C++ compiler compatible with that used to build the LLVM/Clang SDK. CMake options include:
Clang_DIR- Location of the LLVM/Clang SDK.  Set to 
<prefix>/lib/cmake/clang, where<prefix>is the top of the LLVM/Clang SDK install tree. Alternatively,LLVM_DIRmay be set to<prefix>/lib/cmake/llvm. SPHINX_EXECUTABLE- Location of the 
sphinx-buildexecutable. Required only if building documentation. SPHINX_HTML- Build documentation in 
htmlformat. SPHINX_MAN- Build documentation in 
manformat. 
Run the corresponding native build tool (e.g. make) in the CastXML
build tree, and optionally build the install target.  The castxml
command-line tool may be used either from the build tree or the install tree.
The install tree is relocatable.