[CMake] CMake/Ninja support in Qt Creator

Wouter van Kleunen wouter.van at kleunen.nl
Mon Sep 24 12:06:57 EDT 2012


No, ninja is not really slow. Only when the filesystem caches are cold, 
a no-op build does take a considerable time. So yeah, the performance 
difference will not be very big when the caches are hot.


Wouter


Op 24-9-2012 11:17, Peter Kümmel schreef:
> On 24.09.2012 11:04, Nils Gladitz wrote:
>> When I tried with one of my larger projects the first no-op build after
>> a full build took something between 20 and 30 seconds but no-op builds
>> after that were below a second.
>>
>> I'm not really sure what would cause this (I guess disk or filesystem
>> caching?).
>
> Yes, ninja needs to read a lot of files to check dependencies.
>
>>
>> Nils
>>
>> On 09/24/2012 10:42 AM, Peter Kümmel wrote:
>>> On 23.09.2012 15:04, Wouter van Kleunen wrote:
>>>>
>>>> I had the following idea to speed up the building even more, if a tool
>>>> can be build in ninja to list all files that need to be stat when
>>>> building  a project. These files can be monitored by qtcreator and 
>>>> later
>>>> be provided as input again to ninja. So my idea works as follows:
>>>>
>>>> 1. Build project using cmake + ninja
>>>> 2. Get file list of all dependencies by using ninja (something like
>>>> ninja -t deplist).
>>>> 3. Monitor the files using qt creator + qfilesystemwatcher
>>>>
>>>> When the user requests a rebuild:
>>>> 4. Execute a ninja build command + provide the list of changed files.
>>>> This way ninja won't have to stat any file.
>>>> 5. Ninja builds
>>>>
>>>> Is this feasible ?
>>>
>>> I assume Qt Creator does it this way for qbs.
>>> But for ninja this would be too much work.
>>>
>>> You think even ninja is too slow?
>>>
>>> Peter
>>> -- 
>>>
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the CMake FAQ at:
>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.cmake.org/mailman/listinfo/cmake
>>
>>
> -- 
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: 
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake



More information about the CMake mailing list