53

我正在开发跨平台的 C++ 项目。最初的想法是使用 msvc2010,然后在 CMake 和 Hudson 的帮助下为其他系统编译。更改工作室设置后手动更改 CMake 文件似乎并不方便。

那么,最简​​单的方法是什么:为 vcxproj 和 vcxproj.filters 编写解析器,或者还有其他好的解决方案?

4

3 回答 3

57

有时,进行这种类型的转换(例如移植)可能很有用。在我的旅行中,我发现了以下内容,没有特别的顺序:

专门针对 VS 到 CMake/ GYP

  • vcproj2cmake
  • vcxproj2cmake(不是错字!)
  • gypify.py是一个 .sln/solution-reading Gyp文件生成器。Gyp 是 Cmake 的替代品,目前被 Chromium 项目(谷歌 Chrome 浏览器的基础)使用。Gyp 将输出 Makefile、Visual Studio 或 XCode 构建文件(参见 Gyp 的 '-f [make|scons|msvc|xcode]' 开关)。这个 Python 脚本很有前途,我希望尽快对其进行修改,以便为 gcc 的“-I”包含参数正确指定包含标题的文件夹。

其他 Cmake/Make 相关的转换工具:

  • Make It So将 Visual Studio 解决方案转换为 Linux gcc makefile
  • sln2mak C# 项目
  • sln2mak Perl 脚本
  • GUCEF 项目包括 ProjectGenerator 工具,用于 Cmake
  • gencmake (ruby) – KDE 项目
  • ' pbtomake ' 表示它可以将 XCode xcodeproj/pbproj 文件转换为 Makefiles(可能已过时)

干杯

富有的

于 2012-02-22T00:15:15.257 回答
14

你倒退了——设置你所有的 CMakeLists.txt,然后从中生成 MSVC 项目。

它不应该是困难或耗时的。基本上,您只需要说明要查看的目录,声明包含路径,使用 glob 表达式为每个库收集 *.cpps,并声明您的依赖项。

如果您必须设置其他任何东西,那么您的项目可能不是很便携:-/

于 2011-07-11T11:48:46.027 回答
5

这个目的最好的工具是cmake-converter

于 2020-02-14T12:50:14.227 回答