h4tr3d / cmakeprojectmanager2

Enhanced CMake Project Manager plugin for Qt Creator
74 stars 9 forks source link

CMakeProjectManager2

NOTE: Project are discontinued and repository will be frozen. Use upstream plugin that started to be more usable that this one.

Alternative CMake support for Qt Creator.

Main differents from original CMakeProject plugin:

This functionality is not compatible with QtC Project View idea: Project View == Build System view. So, upstream accepts only changes that can be done via build system tools and API. CMake does not provide way to modify CMakeLists.txt and related files, add/remove/rename file to targets and so on. So such changes in plugin (different kinds of work arounds) will be dropped. But in my opinion: usability of IDE must be putted to first place. If some kind of WA that simplify work with CMake cab be implemented - it must be implemented.

Build plugin

This plugin is oriented to latest Git version of Qt Creator, sorry I use it and I have no time to support other stable versions.

Prepare Qt Creator

Commit 9d8a419d107ae8219c84bc9178bfed76b94fa930 of the Qt Creator completely remove build using qmake. So, instruction updated to build plugin with CMake.

If you have QtC binary installation that contains lib/cmake/QtCreator and headers you should not do anything.

Otherwise, you must get full copy of the Qt Creator from the Git, build it and install to some prefix.

For example, all actions runs in directory /tmp/qt-creator

Also, refer to the next page for more details:

Build plugin

Restart Qt Creator, go to Help -> About plugins and turn off default CMakeProjectManager plugin.

Build plugin from Qt Creator

Now you can build plugin from Qt Creator.

Also, refer to the Qt Creator WiKi about plugins development:

Prebuilt binaries

Unsupported anymore. Sorry, just have no a time :-(

TODO & Roadmap

Actual tasks and todo can be looks at the Issue page: https://github.com/h4tr3d/cmakeprojectmanager2/issues

Sync with Qt Creator upstream plugin

  1. Update Qt Creator git repository, moves to the master branch
  2. Create patches for new changes
    git format-patch <REVISION_SINCE> -- src/plugins/cmakeprojectmanager

    REVISION_SINCE can be found via 'git log' by comments or Change-Id.

  3. Go to CMakeProjectManager2 source tree and change branch to the qtc-master
  4. Copy patches from the step 2 to the CMakeProjectManager2 source tree root
  5. Apply patches:
    git am -p4 *.patch
  6. Change branch to the master, merge new changes and resolve conflicts