[Qt-creator] CMake support change in master branch

Eike Ziller Eike.Ziller at qt.io
Wed Jun 10 15:49:13 CEST 2020



> On Jun 10, 2020, at 13:49, Mathias Hasselmann <mathias at taschenorakel.de> wrote:
> 
> Sure you are not giving in to a vocal minority? I very much liked QtCreator's cmake support so far.
> I'll very much miss the possibility to set CMake options with proper UI from within QtCreator.
> Hopefully support for passing "--target=<Current Executable>" stays? Turnaround cycles will become terrible without.


The CMake config / options UI hasn’t changed, nor has the UI for building.
What changed is what Qt Creator uses for running CMake in a new build directory,
and that it leaves existing build directories alone (except for applying changes when you change the cmake config in the configuration UI).
That means that Qt Creator accepts the contents of existing build directories as is, instead of complaining if the cmake configuration in the build directory is different from what Qt Creator would do in a new, clean build directory.

Br, Eike

> Ciao
> Mathias
> 
> Am 09.06.2020 um 18:55 schrieb Tobias Hunger:
>> Hello everybody,
>>  I just pushed a patch to the master branch that changes how CMake projects are handled. I expect this patch to still have some rough spots, so please avoid to update for a while if you want a polished experience, but I do hope for bug reports and feedback about the changes!
>> 
>> 
>> The idea of this change is to reduce the magic that Creator does when configuring CMake projects.
>> 
>> 
>> You can now specify a set of "Initial CMake arguments", that are going to get applied when a build directory is unconfigured (== does not contain CMakeCache.txt yet).
>> These are populated based on the selected kit, but will not change automatically when you update your kit. I want to add a warning when that happens, but that does not exist yet. Any CMake command line argument can be provided, so you can now ask for warnings to be enabled/disabled or whatever else is supported by CMake.
>> 
>> When you change CMake configuration in Creators Project mode, then cmake will be run with exactly those changes and nothing more.
>> 
>> In all other cases CMake will be run without *any* configuration-related arguments.
>> 
>> 
>> Creator will no longer store any configuration changes in its .user file anymore (anything that exists there is moved into the initial arguments instead). The sole truth about CMake configuration is the CMakeCache.txt file. This also means that swiching build directories will result in a loss of configuration, something that we tried to avoid earlier. I think overall this is an acceptable cost, considering that Creator did not do a great job at it in the first place:-)
>> 
>> This also makes the dialog about the CMake configuration and the Creator configuration unnecessary and that has been removed. Considering how many complaints I had about it, I expect nobody will miss this one;-)
>> 
>> 
>> As said before: Please send feedback via the bug tracker or by email! I hope to sort out the remaining rough spots in the next couple of weeks.
>> 
>> Best Regards,
>> Tobias
>> 
>> --
>> Tobias Hunger, Senior Software Engineer | The Qt Company
>> The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin
>> Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho. Sitz der
>> Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
>> 
>> _______________________________________________
>> Qt-creator mailing list
>> Qt-creator at qt-project.org
>> https://lists.qt-project.org/listinfo/qt-creator
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> https://lists.qt-project.org/listinfo/qt-creator

-- 
Eike Ziller
Principal Software Engineer

The Qt Company GmbH
Erich-Thilo-Straße 10
D-12489 Berlin
eike.ziller at qt.io
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B



More information about the Qt-creator mailing list