A new CLion 2017.3 EAP build (173.3531.13) is now available for download.

Previous EAP build brought Valgrind Memcheck integration to CLion. And now we are back to the C++ language support improvements. Check them out and let us know if any error occurs, especially if you see any regression (in comparison to the stable version).

C++ language engine improvements

Our recent plan for C++ language engine was to start from the bottom and work our way up to the top, implementing big overhauls in the problematic areas of our parser. 2017.3 EAP has already brought list initialization fixes. And now it’s time to roll out name lookup improvements. Some issues that were fixed by these changes:

Debug/Release switcher

During this release cycle we’ve improved the toolchains support and made the configuration process clearer and more flexible. CLion now allows to configure and use several toolchains (i.e. CMake, compiler, debugger set) and link them to the appropriate CMake Profile.

To use necessary CMake Profile during Running/Debugging your app, you previously had to create several Run/Debug configurations with different CMake profiles. Now you can simply select necessary CMake Profile in the run configuration switcher on the toolbar:
or in the Run/Debug configuration switcher popup that opens via Shift+Alt+F10 (Linux/Windows) / ^⌥R (macOS) for Run and via Shift+Alt+F9 (Linux/Windows) / ^⌥D (macOS) for Debug:

A couple of important notes:

Resolve context in the editor is updated automatically when the CMake profile is changed.

When running/debugging tests via automatically created Run/Debug configuration,
the currently selected CMake Profile is used.

> To use necessary CMake Profile during Running/Debugging your app, you previously had to create several Run/Debug configurations with different CMake profiles …

I understand the reason for decoupling cmake profile from a build configuration.
But the build configuration also has another options (command line arguments, post-build actions, environment). And this options might my coupled with a certain cmake config. So I cannot now merge my debug|relese build configs and just switch the CMake profile. It is necessary now to switch both build conf. and cmake profile synchronously.

Possible solution would be not to remove cmake profile option from the build config but add additional option “Current CMake Profile”. It allows both to use selected cmake profile or to specify one directly. So build config is able to force switching cmake profile.

Also if cmake profile is decoupled from the build config, there is needed a $CMakeProfile$ placeholder which is expanding in all optoin fields of build config. ($$ placeholders)

But build type is a part of CMake profile. And if you need several CMake profiles with one build type, you can create them. In the switcher in the navigation bar the list of CMake profiles will be shown.

Saying “build config” I meant run configuration (RC)
I already have several cmake profiles. Also I have several several RC.
In each RC appropriate CMake profile was specified. Now this option is gone. So each time I change RC it is necessary to not forget to choose an appropriate CMake profile.

Great, perhaps it will be included in 2018, because “make install” is such a basic feature of Linux… and CLion does not properly support it. The only solution is to modify the CMake to “install” but other non-CLion work colleagues will not appreciate it.:)
Thanks a lot!:)