Introducing CMake support for ESP-IDF Projects

Today we are proud to release VisualGDB 5.4 Preview 6 introducing support to the new CMake-based version of the Espressif’s ESP-IDF framework and out-of-the-box compatibility with the MSYS2-based toolchain. The CMake-based ESP-IDF projects, powered by the Ninja build system, build much faster than the regular Make-based projects and offer a higher degree of customization in the Solution Explorer:idf

Build Speed

VisualGDB supports advanced ESP-IDF projects since early preview builds of v5.4. Compared to the traditional MSBuild-based projects, the advanced ESP-IDF projects allow using unmodified versions of the ESP-IDF framework and are fully integrated with the sophisticated ESP-IDF configuration system. As a side effect, this project type also inherited relatively slow build speed limited by the GNU Make tool that has been around for over 40 years. The new CMake-based ESP-IDF project type solves exactly this problem – instead of the slow GNU Make, it builds projects with Ninja – a modern build tool heavily optimized for performance. It gets even better – both tools do not rely on the Cygwin environment that trades in performance for better compatibility. As a result, the new CMake-based ESP-IDF projects build 2x-3x faster than the older Make-based type.

Easy Configuration

Although the new ESP-IDF is based on CMake, it utilizes its own system of macros and variables to control various properties of the project components. VisualGDB takes it into account and offers a convenient Property Sheet-based GUI for changing the common properties:props

The properties will be automatically translated to ESP-IDF-specific constructs like COMPONENT_ADD_INCLUDEDIRS, so you won’t need to memorize their syntax. The CMake-based ESP-IDF project subsystem also includes the convenient graphical editor for various ESP-IDF properties, so you can quickly find the relevant settings without going through several layers of “make menuconfig”: cfggui

Other CMake improvements

This release also introduces a few usability improvements to all Advanced CMake projects. We added support for better sorting, grouping and reordering of source files in Solution Explorer and if your project relies on resources stored in separate files, you can now pin the resource folder in Solution Explorer to conveniently navigate its contents:rsrc

Try it out

You can download VisualGDB 5.4 Preview 6 on the download page. Don’t forget to install the latest ESP32 toolchain via the VisualGDB Package Manager.
If you have any feedback, don’t hesitate to use our support form or the VisualGDB forum.