[QBS] About vcproj generators
jake.petroules at petroules.com
Sun Jul 27 08:23:37 CEST 2014
On 2014-07-27, at 02:12 AM, Smirnov Vladimir <mapron at yandex.ru> wrote:
> I just wonder, does anybody tried to implement .vsproj/.sln generator
> for qbs?
> I have created such tool some weeks ago, but it has some possible flaws:
> -It uses qbscore library (so it low integreated to qbs tree),
This is the right approach. Such a generator would be integrated into qbs so it would certainly be using the qbscore library.
> -It generates projects which uses "NMake tool" template and runs qbs on
Yep, this sounds correct.
> -generates debug/release configurations for several qbs profiles
> (==profiles*2 vcproj configs)
> It's ok for our company, but i am thinking about better approach.
> What already done?
> -Generating .sln files with subgroups as nested Projects items do;
> -Files and filters (in a plain list without groups)
> -Writing Intellisence settings (includes and defines)
Yes, my Xcode generator does the equivalent too.
> -Some common options as target name and destination directory.
> I have some plans of what could be done right:
> 1. writing command-line tool alike qbs-qt-setup;
Wouldn't necessarily have to be a separate tool, my WIP has it as a sub-command (so `qbs generate [...]`), though this could change.
> 2. writing autotests;
> 3. implement generating projects which invoke VCCompiler, not
> nmake-like. So it should create moc invokation just like QtAddin does.
Qbs is too powerful to allow VC to perform the build. It must be a makefile target which invokes qbs to perform the actual build steps.
> So, i am asking QBS leaders: How should it be?
> QBS mailing list
> QBS at qt-project.org
I've already begun work on an Xcode generator; you can find the patches for that here if it helps (still, note that these are only WIP, the API and method of integration could change):
https://codereview.qt-project.org/#/c/89972/ (generator API)
https://codereview.qt-project.org/#/c/75130/ (Xcode generator)
I strongly encourage you to push your WIP vcproj generator to Gerrit so we can all have a look and help it get to a point where it can be merged upstream - no sense in duplicating effort. ;)
Jake Petroules - jake.petroules at petroules.com
Chief Technology Officer - Petroules Corporation
More information about the Qbs