我对你问题的最佳回答:
虽然我不能推荐这个工具,因为我没有使用它,但它似乎是最接近你正在寻找的东西。
http://sourceforge.net/projects/vcproj2cmake/
它需要在您的计算机上安装Ruby运行时,但它会根据您的 Visual Studio 项目生成CMakeLists.txt文件。
我会谨慎对待这一点,因为在转换中可能会丢失一些细微的 CMake 细微差别,但它有几个好评,并且肯定会使过程更容易,即使在检查之前涉及一些手动步骤in(验证 CMake 脚本是否正确)。
也许您可以将其与单元测试集成以验证 CMake 脚本的完整性?您可以随时为您发现的问题提供补丁。
一个潜在的替代方案:
我在推断一些事情,如果我做出任何假设,请原谅我。
如果您的目标是跨平台,并且 CMake 不是一项技术要求(只是达到目的的一种手段),但您不想采用推荐的 CMake 工作流程,因为它不是很直观(我完全可以理解那),也许您可以看一下Premake,它是较新的,但仍然是一个相当强大的项目生成工具:
我发现语法(纯Lua)更容易理解,并且它的项目建模更接近 Visual Studio 解决方案。这对您来说可能是更自然的工作流程。
它也是开源的,我发现添加扩展实际上非常容易(我上次使用它已经一年了,我不确定它现在的状态)。也许您也可以构建一个反向生成器,因为该库带有一个完整的 Visual Studio 项目解析器,并且您可以让它在两个方向上生成。
一年前我选择不采用它,因为当时它很难生成相互依赖的 Xcode 项目(也许它已经修复了!)。不过,我对 Makefile 或 Visual Studio 解决方案没有任何问题。
最后的建议
我不建议从 Visual Studio 项目反向生成项目生成脚本的原因仅仅是它对您的项目产生了非常尴尬的依赖。Visual Studio 项目不是标准化的,甚至是开放的——如果 Microsoft 更改格式,您可能会破坏您的工作流程,直到您或其他人为您的反向生成器创建一个补丁以让您再次工作。
您可能会争辩说,项目生成存在相同的问题,但 Visual Studio 历来都是向后兼容的 - 或者至少附带了执行项目更新的工具。在较旧版本中生成项目很可能始终有效,而尝试解析 Visual Studio 解决方案的较新版本则更容易出错和损坏。
如果这是一个您希望在未来很多年继续使用和维护的严肃的生产项目,我强烈建议采用经过验证的工作流程(直接在 CMake 或 Premake 文件中工作),即使它不太理想或不舒服首先对于开发人员。如果这将是一个长期项目,那么您熟悉新工作流程所花费的时间与您继续跨多个平台和不同团队维护临时构建系统所花费的时间相比将相形见绌。另外,作为开发人员,它还会为您的腰带添加另一个工具。只是我的两分钱。