[CMake] CMake/Ninja support in Qt Creator

Wouter van Kleunen wouter.van at kleunen.nl
Tue Sep 25 02:09:13 EDT 2012


Also, the design goal of ninja was to build things "as fast as 
possible". And when "convenience and speed are in conflict, prefer speed."


Although I can't totally disagree with Loadens comment to keep it simple 
and your comment that the speed is reasonable now.


Op 24-9-2012 18:06, Wouter van Kleunen schreef:
>
> 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
>
> -- 
>
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120925/c0f3a6a3/attachment-0001.htm>


More information about the CMake mailing list