我的公司使用CMake来管理他们的代码。我的一些同事使用Linux,而我使用Windows,使用Visual Studio。我们的代码被组织到许多库中,这些库在一个解决方案下转换为许多Visual Studio项目。
为了加快编译速度,我尝试将clcache集成到我的设置中,为此,我需要为解决方案as noted here中的每个项目禁用TrackFileAccess
。
因此,据我所知,我必须修改CMake文件,要么向每个库的.vcproj文件中注入一些XML,要么修改传递给msbuild.exe本身的参数。
为了尝试使用特定的命令行参数调用msbuild.exe,我找到了变量CMAKE_MAKE_PROGRAM。我尝试将它与SET(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} /p:TrackFileAccess=false" CACHE INTERNAL "")
一起使用,但我可以从Process Explorer中看到,msbuild.exe没有使用该参数调用。
我不知道如何将XML注入到.vcproj文件中,或者是否可以用CMake来完成。实际上有这样的方法吗?或者我需要编写一个脚本在CMake运行后运行,来编辑它的输出?
既然如此,我是否真的需要编辑每个.vcproj文件,或者我是否可以编辑每个.vcproj将继承的一些内容?
2条答案
按热度按时间af7jpaap1#
啊哈!
我做了更多的挖掘,我想我用CMake找错了对象,原来,我可以编辑C:\Users\me\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props并添加
而且很有效!
fzsnzjdm2#
设置(CMAKE_VS_GLOBALS“跟踪文件访问=假”)