Update on CMake project support in Qt Creator

July 30, 2019 Tobias Hunger

I have been busy improving the CMake support in Qt Creator for the last couple of weeks and thought I should take the time to highlight some of the new features.

Fileapi support

The CMake project has announced a new IDE integration mechanism with their 3.14 release called fileapi. It provides about the same level of information as the previous recommended mechanism (server-mode), but does not require a long-running cmake process. This makes the new approach use less resources while being more robust in the face of users running cmake on the command line.

“fileapi” is now supported in Qt Creator (master branch).

Demo of CMake releated features in Qt Creator master

Demo of CMake releated features in Qt Creator master

CMake support in the Locator

Creator has allowed to trigger the build of CMake targets via the locator for a while now. Simply do Ctrl-K to focus the locator and then type cm <target> to build that target.

In master branch this got a small extension: Typing cmo <target> will open the definition of a target in the editor. This works best when your CMake binary supports fileapi: It will then take you to the exact line the target is defined at. Older CMake binaries will just open the CMakeLists.txt file in the target’s source directory instead as there is no information on line numbers available.

Open targets via the Context menu

The same information that is used by the cmo locator is used to populate a Open... menu in the target’s context menu. That allows to jump straight to lines relevant to the target definition.

Note that this feature has been available for one specific CMake version with server-mode support before, but the necessary support in CMake got removed again and only returned in the fileapi.

That is all I have to show today:-) Please test Qt Creator with CMake 3.14 or later and provide feedback and report bugs. Unfortunately there are currently no snapshots of Qt Creator taken from the master branch, those will only become available after Qt Creator 4.10RC release.

Thanks to Alessandro for demoing these features in a short video!

The post Update on CMake project support in Qt Creator appeared first on Qt Blog.

Precompiled Headers and Unity (Jumbo) Builds in upcoming CMake
Precompiled Headers and Unity (Jumbo) Builds in upcoming CMake

As you might have heard Qt is moving away from qmake in favor of CMake. Some people have raised concerns wi...

Next Article
Qt Creator 4.9.2 released
Qt Creator 4.9.2 released

We are happy to announce the release of Qt Creator 4.9.2! This release fixes some smaller bugs. Please find...

When you play the Game of Code, you use Qt or it's the end for you!

Get Qt 5.12 LTS