Импорт файла.props в.vcxproj, сгенерированный qmake
С командой
qmake -tp vc -r
Я создаю Visual Studio .sln
файл и куча .vcxproj
файлы из соответствующего Qt .pro
файл и куча .pri
файлы.
Я хотел бы, чтобы те генерировали .vcxproj
файлы для импорта моих собственных .props
файл. Путь к которому я могу предоставить qmake
или встроить его в тех .pro
/.pri
файлы.
Является ли это возможным? Если так, то как?
Поскольку из моих исследований кажется, что это можно сделать, только добавив собственное расширение (которое я должен был бы написать первым...) в mkspecs
...
1 ответ
Судя по исходному коду qmake, это невозможно. Я смотрел в qmake\generators\win32\msbuild_objectmodel.cpp
как в Qt4.8.5, так и в последней версии Qt5, и только листы свойств, добавленные qmake, Microsoft.Cpp.*.props
(разных видов):
xml << tag("Import")
<< attrTag("Project", "$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props")
<< attrTag("Condition", "exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')")
<< closetag()
<< closetag();
Я решил эту проблему, создав быстрый скрипт на Python, который выполняет постобработку сгенерированных файлов *.vcxproj:
for l in fileinput.FileInput('Project.vcxproj', inplace=1):
print l,
if 'PropertySheets' in l:
print ' <Import Project="YourPropertySheets.props" />'
Конечно, было бы лучше исправить патч qmake с новой функциональностью, но, поскольку только вы, и я, трое обеспокоены этим, я считаю, что взлом является оптимальным решением.