Developers Club geek daily blog

5 years, 7 months ago
I welcome, friends! In the beginning of February has been announced IDE Qt Creator 2.7 beta, and here release 2.7.0 on March, 21st has been presented.
So, from notable changes in new release were:
  • The improved support intrumentariev (Kits);
  • The further support With ++ 11;
  • Changes in QML and Qt Quick2.

Set of small changes such as support of merge for git a plug-in, improvement in a debugger, but as a whole release not revolutionary, but evolutionary.
Know, I will not paint in detail all changes, they can be read in the press release.
One for me an appreciable innovation — occurrence in a basis to a branch of support QBS of a plug-in. About system qbs I wrote earlier on habre. Since then has flowed away a lot of water, and someone could think that the project has decayed, but is not present, communism building goes in accelerated tempo, and I will try to give the short review of some changes.



1. Support qbs projects (plug-in QbsProjectManager)


(The note: there was no yet a release, there were problems with sborokoj, and with stability under Windows).
How to collect? If it would be desirable manually, of course, instead of to use ready assemblage. I will simply reduce time of your reading, I will not write the command for git.
  • We do checkout or simply we keep archive of repository QBS
    «qt.gitorious.org/qt-labs/qbs/trees/master» or «git://gitorious.org/qt-labs/qbs.git»
  • Similar operations with a tree of source codes Qt Creator
    «qt.gitorious.org/qt-creator/qt-creator/trees/master/» or «git://gitorious.org/qt-creator/qt-creator.git»
  • We collect qbs from a directory with source codes
    qmake -r qbs.pro &&make

  • We open the project «qtcreator.pro», we add variable environments
    QBS_BUILD_DIR=путь/к/папке/qbs
    QBS_SOURCE_DIR=путь/к/папке/qbs
    If you adjusted shadow assemblage it is necessary to correct these ways.
  • We start assemblage Qt Creator and if all passes normally you receive binarniki IDE and a plug-in with support QBS.


If all normally has not passed, compilation errors (happens!), two ways:
  • To try qbs (to be rolled away older version on about two weeks ago)
  • To try to correct independently.

Besides, the fastest way, it simply to download binary assemblage and to include plug-in QBS Project Manager in options.

2. Current possibilities of a plug-in


They more than are modest. It is possible to collect the project. And it is possible and not to collect!
Qt Creator 2.7: QBS the project manager under a cowl
And still it is possible pereskanirovat qbs a file (for example, files have been added, and the list of files is set by a mask) for tree evolution. Naturally, remains possibility to start under a debugger, as well as qmake the project.
As there passes assemblage: as well as with qmake, in an assemblage Conclusion (Compile Output) we see a conclusion qbs. In the majority it is rather laconic, there is no yet an error or preventions. It is possible to interrupt assemblage. And thank God that such possibility already is)
Assemblage conclusion
15:32:58: Running steps for project qtcreator...
compiling tcpportsgatherer.cpp
compiling textfileformat.cpp
compiling treewidgetcolumnstretcher.cpp
compiling uncommentselection.cpp
compiling unixutils.cpp
moc wizard.cpp
moc wizard.h
compiling faketooltip.cpp
moc faketooltip.h
moc tips.h
compiling tipcontents.cpp
moc tooltip.h
compiling tooltip.cpp
The following products could not be built: QmlJSEditor, GLSLEditor, Git, CodePaster, Perforce, ClearCase, Android, Welcome, Core, Aggregation, Find, Debugger, RemoteLinux, styleplugin, QtcSsh, AutotoolsProjectManager, FakeVim, CMakeProjectManager, ImageViewer, QmlJSTools, Qnx, Mercurial, CppTools, GenericProjectManager, PythonEditor, QmlProjectManager, zeroconf, UpdateInfo, Bookmarks, LanguageUtils, BinEditor, Subversion, QtSupport, Designer, ExtensionSystem, Utils, cpaster, qtcreator_process_stub, TaskList, Macros, GLSL, QmlDebug, ProjectExplorer, ptracepreload, app_version_header, DiffEditor, Help, qtcreator, Todo, Bazaar, TextEditor, ClassView, CPlusPlus, CVS, Qt4ProjectManager, ResourceEditor, translations, QmlJS, VcsBase, Madde, qtpromaker, CppEditor, QmlEditorWidgets, QmlProfiler, HelloWorld, Valgrind, AnalyzerBase, sdktool, Locator.
Build was canceled due to user request.
15:33:05: Canceled build/deployment.
15:33:05: Elapsed time: 00:05.


It is natural, if there are errors it is possible to see them in vidzhete assemblage errors. There are flaws with analysis (errors are deduced twice actually), and with an icon of preventions (are deduced as an error). I hope, it will correct.
Besides, there is a possibility from the shortcut menu peresobrat one concrete file. On my sensation, this possibility while somehow astably conducts itself (laws in its behaviour has not noticed, but sometimes it even works).
Having loaded qbs the project for QtCreator, I managed to collect it for 13 minutes (that time in two — approximately - faster than qmake+make).
In a bookmark Start (Run) is base adjustment of stages for assemblage under qbs. At attempt to add the variant, QtC has taken off. It is sad.
Qt Creator 2.7: QBS the project manager under a cowl

3. The most tasty. What has been added for a year?


  • "Clean command support is improved. Earlier it simply deleted an assemblage directory, now there were various options;
  • Possibility to specify the list of files by means of masks (and exceptions) is added. Here an example from tests:
    patterns.qbs
    import qbs.base 1.0
    Application {
        type: 'application'
        name: 'HelloWorld'
    
        Depends { name: 'cpp' }
    
        cpp.defines: ['SOMETHING']
    
        //files: '../patternfiles/././.*\\..\\patternfiles/*s*r*c*\\foo.*'
    
        Group {
            files: 'src/foo.*'
            excludeFiles: 'src/foo.2.cpp'
            recursive: true
        }
    
        Group {
            cpp.defines: outer.concat(['HAVE_MAIN_CPP', cpp.debugInformation ? '_DEBUG' : '_RELEASE'])
            prefix: "src/"
            files: 'main.*'
        }
    }
    


  • Deploy command support is added;
  • The system of options and profiles is processed, in my opinion became more clear — "platforms" as kontsept, passed of QtC are cleaned;
  • Run commands and instal are improved;
  • Support MSVC—.PCH.rc.manifest files is processed and is considerably improved.
  • There was a possibility to configure assemblage, by means of Configure Probes. As them to apply — it is possible to look in a folder tests.
  • Support MacOS and Objective-C is expanded.


What I can add still? I did not manage to test even half of possibilities QBS, but I can tell that the organisation cross-country-platform of assemblages (under arm tulchejn) has appeared rather convenient and pleasant.
In the conclusion it is necessary to notice only that despite rough and explosive development, QBS still is in a stage of active working out, and compatibility (to 1.0 releases which it is good if this year will appear) can still break.
As it is possible to familiarise about mine the last article about QBS.

This article is a translation of the original post at habrahabr.ru/post/171405/
If you have any questions regarding the material covered in the article above, please, contact the original author of the post.
If you have any complaints about this article or you want this article to be deleted, please, drop an email here: sysmagazine.com@gmail.com.

We believe that the knowledge, which is available at the most popular Russian IT blog habrahabr.ru, should be accessed by everyone, even though it is poorly translated.
Shared knowledge makes the world better.
Best wishes.

comments powered by Disqus