CLion 2023.3 EAP2: Support for Device Tree Files and Meson
The CLion 2023.3 Early Access Program has just started, featuring assembly view for files, enhanced C++ data flow analysis, and other updates.
The CLion 2023.3 EAP2 build is ready for you to try! With it, you can finally start working on Meson projects in CLion and benefit from device tree format support.
Build 233.8264.3 is available from our website, via the Toolbox App, or as a snap package if you are using Ubuntu. Update via patch if you are using the previous EAP build. EAP builds are free to use – just don’t forget to share your feedback with us!
A device tree is a hierarchical data structure primarily used to describe hardware. It’s widely used in Zephyr and provides the initial configuration for hardware. It’s now much easier to read, navigate, and maintain such files with CLion.
Files with .dts and .dtsi extensions are treated by the IDE as device tree files and the following coding assistance options are available:
- Syntax highlighting (Settings/Preferences | Editor | Color Scheme | Devicetree) and code formatting (Settings/Preferences | Editor | Code Style | Devicetree).
- Code documentation when hovering on device tree elements.
- Structure View and code navigation through the device tree files.
- Automatic insertion of missing semicolons, matching braces, and quotation marks while typing in device tree files.
- Code completion for
You can configure the board you are using in Settings/Preferences | Build, Execution, Deployment | Devicetree. CLion will then show you additional information in the Documentation popup.
To write device tree files more effectively, CLion supports:
CLion also helps you write device tree files by providing a set of basic code analysis checks:
- CLion validates the names you are using. For example, it checks if the labels are named correctly:
Or if the node name is valid:
- CLion validates the order of the elements in the tree if it’s defined (for example, properties should be defined before nodes).
- CLion checks the array size defined by the
Device tree support is a work in progress. You can check out the planned list of enhancements linked to this main ticket in our tracker.
A range of project models are used for C and C++ projects. CLion works out of the box with CMake, compilation databases, Makefiles, and Autotools projects. There are also plugins for Gradle, Bazel, and PlatformIO. And now, CLion also supports Meson!
You can open a Meson project in CLion and build, run, and debug it. You can configure the toolchain to use for your Meson project, build directory, and build options in Settings/Preferences | Build, Execution, Deployment | Meson.
As an example, let’s open the Mesa 3D graphics library:
The code in the meson.build file will be highlighted to help you read it more easily. You can adjust the settings in Settings/Preferences | Editor | Color Scheme | Meson.
Meson support in CLion works for all local and remote toolchains, WSL, and Docker.
Meson support is a work in progress. There are a few known issues we plan to address:
- We plan to add the ability to create a new Meson project from the CLion New Project wizard (CPP-31647).
- We will work on improving code highlighting and assistance in the meson.build files and add Structure View for them (CPP-35183).
- We will provide the ability to customize Meson options in CLion (CPP-35165, CPP-35316).
- We plan to add support for multiple profiles (CPP-32148).
There are more issues linked to this parent ticket.
The full release notes are available here.
Your CLion team
The Drive to Develop
Subscribe to Blog updates
Thanks, we've got you!
CLion 2023.3 Release Candidate
CLion 2023.3 is on its way, and the release candidate for v2023.3 is already available! To install CLion 2023.3 RC (build 233.11799.171), download it from the website, update via the Toolbox App, or use this snap package (for Ubuntu). You need an active subscription or a trial license to use CLi…
CLion Nova: A New Update With Various Bug Fixes
CLion Nova, a free preview of CLion with the ReSharper C++/Rider C++ language engine, was announced recently. We’re excited to see how well you liked the first build! There are about 3,700 users right now and the overall feedback is mostly positive, especially that which is related to performance an…
CLion 2023.3 Goes Beta
The Beta version of CLion Classic 2023.3 is now available with key improvements and changes that are expected in the upcoming release. Download build 233.11799.37 from our website, via the Toolbox App, or as a snap package for Ubuntu. If you are using CLion Nova, note that we do not plan to release…
CLion Nova Explodes onto the C and C++ Development Scene
TL;DR Today, we’re announcing a free early preview of CLion, which uses the ReSharper C++/Rider C++ language engine instead of the CLion "legacy" engine. The Preview build is available via our dedicated Toolbox App feed. At some point in 2024, depending on the results of the feedback coll…