Which build systems are supported? Do you plan to support any other build systems?
CLion incorporates a set of smart features, many of which depend on project-level information (included files, compiler flags, and linker options). This information allows CLion to parse/resolve your code correctly and therefore highlight, auto-complete, inspect, and navigate through it in an error-free and convenient way.
CLion does not provide its own project model for your code but supports the following formats:
- CMake
- JSON compilation database
- GNU Makefiles
- Bazel, via a 3rd party plugin (https://plugins.jetbrains.com/plugin/9554-bazel)
More details are available in our webhelp.
Regarding QMake, Scons and others, please find the feature request in our tracker to vote and comment on the subtasks. Your votes in the issue tracker will factor into our decision about where to expand first.
Also, consider working with the unsupported or custom project models via Compilation Database.
Please sign in to leave a comment.
I think this page needs an update.
Bazel is listed as an option on this page, but the compatibility matrix shows it is supported on a Best Effort (Maintenance Mode) and the latest version is only compatible up to CLion 2020.1 and even then only on Linux. Our company is looking at moving to Bazel and first-class support on all platforms for this would be appreciated.
Also, 2020.3 released Qt projects and Makefile projects, right?
@Rdubbs,
Thanks, I've updated the article.
Qt project model (qmake) is not supported, it works via CMake.
As for Bazel, we do consider working on the plugin from JetBrains side, but no estimations so far.
Any update on this? The state of the Bazel plugin is really making me consider not renewing my Ultimate license.
I rely on multiple languages, so Bazel is a no-brainer, not to mention that it actually does support modern features like C++20 modules.
Happy Cerberus Bazel plugin is maintained by Google. What we were planning is maybe consider taking over it, but it's a common plugin for C++, Java, and more. So it's a big work and for now, we don't have resources for this. We still keep it in the backlog for some future releases.