[CMake] CMake/Ninja support in Qt Creator

Wouter van Kleunen wouter.van at kleunen.nl
Sun Sep 23 09:04:17 EDT 2012


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 ?


Op 22-9-2012 8:30, Loaden schreef:
> Works well under Ubuntu 12.04 + Ninja 1.0.
> Thanks a lot!
>
> 2012/9/20 Peter Kümmel <syntheticpp at gmx.net <mailto:syntheticpp at gmx.net>>
>
>     On 19.09.2012 08:08, Wouter van Kleunen wrote:
>
>
>         Peter,
>
>         i had 2.8.9-pre3 before, i upgraded to 2.8.9. But only after
>         deleting
>         the CMakeLists user file from qtcreator, deleting the build
>         directory
>         and restarting qtcreator I was able to get the option to build
>         with Ninja.
>
>         Anyway, it seems to work fine now, and the building is much
>         faster.
>
>
>     I've uploaded a new version:
>
>     - Now out-of-source project files are supported (for cmake projects).
>       There will be two new files in the build folder CMake.qtcreator
>     and CMakeLists.txt.user
>       CMake.qtcreator should be opened with creator.
>
>     - out-of-source is default, could be changed by a check box in the
>     wizard
>
>     - shipped ninja.exe (>1.0.0) is found automatically
>
>     - generators are updated when cmake is selected in the wizard
>
>     - a cmake warning about QT_QMAKE_EXECUTABLE could be suppressed
>     when the project doesn't use Qt
>
>     Peter
>
>
>
>
>         Wouter
>
>
>         Op 18-9-2012 22:50, Peter Kümmel schreef:
>
>             Hi Wouter,
>
>             you need the latest cmake version, 2.8.9.
>
>             Under Tools/Options/Build&Run/CMake
>             the ninja binary could be set, or have it PATH.
>
>             Peter
>
>             On 18.09.2012 22:29, Wouter van Kleunen wrote:
>
>
>                 So how do you make it to use ninja ? Should I enable
>                 ninja somewhere ?
>                 Because when I run cmake from the gui it now still
>                 generates nmakefiles.
>
>                 Wouter
>
>                 Op 17-9-2012 18:08, Peter Kümmel schreef:
>
>                     Qt Creator 2.6 is beta now.
>
>                     On github I've uploaded a patched version with
>                     Ninja support for CMake
>                     based projects:
>
>                     https://github.com/syntheticpp/qt-creator/downloads
>
>                     When CDB is installed
>
>                     http://doc-snapshot.qt-project.org/qtcreator-2.5/creator-debugger-engines.html#supported-cdb-versions
>
>
>                     debugging works even with the 32bit/64bit
>                     compilers of Visual Studio
>                     Express 2012.
>
>
>                     Currently I'm trying to bring the patches
>                     upstream, but for 2.6 it
>                     seems too late.
>
>                     Peter
>                     --
>
>                     Powered by www.kitware.com <http://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 <http://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
>
>
>
>
> -- 
> Best Regards
> Yuchen
>
>
>
> --
>
> 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/20120923/74cad6be/attachment-0001.htm>


More information about the CMake mailing list