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

Bo Thorsen bo at vikingsoft.eu
Tue Nov 24 17:06:34 CET 2015


Den 24-11-2015 kl. 08:45 skrev Roland Winklmeier:
> 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.

No again. I also use out of source all the time with subdirs on windows. 
Works fine. Show us your code if you want help. Please don't file 
bugreports on something that would obviously have been caught years ago 
if it didn't work.

Bo Thorsen,
Director, Viking Software.

-- 
Viking Software
Qt and C++ developers for hire
http://www.vikingsoft.eu



More information about the Interest mailing list