导入qmake生成的.vcxproj中的.props文件

时间:2012-12-13 13:24:25

标签: visual-studio qt qmake vsprops

使用命令

qmake -tp vc -r

我正在从相应的Qt .sln文件和一堆.vcxproj文件中生成Visual Studio .pro文件和一堆.pri个文件。

我希望那些生成的.vcxproj文件导入我自己的.props文件。我可以向qmake提供或将其嵌入.pro / .pri个文件中的路径。

有可能吗?如果是,那怎么样?

由于我的研究似乎只能通过添加自定义扩展(我必须首先编写......)到mkspecs ...

1 个答案:

答案 0 :(得分:1)

根据qmake源代码判断,这是不可能的。我在Qt4.8.5和latest Qt5 version中查看了qmake\generators\win32\msbuild_objectmodel.cpp,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,但由于只有三个人,包括你和我,对此感到困扰,我相信黑客是最佳解决方案。