[Interest] qmake's visual studio generator does not handle recursive subdir templates

Roland Winklmeier roland.m.winklmeier at gmail.com
Tue Nov 24 08:45:46 CET 2015


Am 24.11.2015 um 07:57 schrieb Bo Thorsen:
> Den 23-11-2015 kl. 20:09 skrev Roland Winklmeier:
>> I'm working together with a team on a medium complex project. Our build
>> system is qmake and since some of us had previous experience with cmake,
>> we introduced a project structure with subdirs. It looks similar to the
>> following:
>>
>> project.pro (subdirs)
>> |-- src.pro (subdirs)
>>      |-- lib1.pro (lib)
>>      |-- lib2.pro (lib)
>>      |-- plugins.pro (subdirs)
>>          |-- plugin1.pro (lib)
>>          |-- plugin2.pro (lib)
>> [...]
>>
>> This gives us a nice hierarchical structure and all works nicely as long
>> as we use QtCreator. But some of us prefer to use native IDE's like
>> Visual Studio. When trying to create a Visual Studio solution from the
>> above (with qmake -tp vc -spec win32-msvc2013 -r), a *.sln is created
>> for each subdirs template instead of tracking them as child projects. So
>> project.sln does not contain any projects.
>>
>> Do we hit a missing feature/bug in qmake or is it me using the subdirs
>> template incorrect?
>> I got the idea from qtbase which also has recursive subdirs.
> 
> This definitely works, I use it all the time. You need to show us some
> of your pro files before we can help you.
> 
> Do you have "TEMPLATE = subdirs" in the file that has the SUBDIRS list?
> 
> Bo Thorsen,
> Director, Viking Software.
> 

Thanks everyone. After you confirmed that it should work, I had another
close look. I had the template = subdirs set, but qmake gives me
warnings [1] that it cannot find several *.vcxproj files. While
analyzing the logs, I found out that I used an out-of-source build and
qmake expected the *.vcxproj in the source folder instead of the build
folder. If I run the exact same command in the source folder, everything
is perfectly working as you said.

So I assume I just hit a small bug in qmake, that it cannot handle
out-of-source builds properly.

Cheers R.

[1]
...
   Reading
C:/projects/vatsim/swift/src/plugins/simulator/xplaneconfig/xplaneconfig.pro
[C:/projects/vatsim/build-swift-Desktop_Qt_5_5_1_MSVC2013_32bit-Debug/src/plugins/simulator/xplaneconfig]
WARNING: Ignored (not found)
'C:/projects/vatsim/swift/src/plugins/simulator/fscommon\simulatorfscommon.vcxproj'
...

---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus




More information about the Interest mailing list