How to support both vcxproj to cmake on a project?

tikkerey picture tikkerey · Jul 11, 2011 · Viewed 46.7k times · Source

I'm developing cross-platform c++ project. The original idea is to work with msvc2010 and later compile for other systems with the help of CMake and Hudson. It doesn't seem to be convenient manually change CMake files after changes in studio settings.

So, what’s the easiest way: to write parser for vcxproj and vcxproj.filters, or there is another good solution?

Answer

Big Rich picture Big Rich · Feb 22, 2012

It might be useful, from time to time, to do this type of conversion, say for porting. On my travels I've found the following, in no particular order:

Specifically for VS to CMake/GYP:

  • vcproj2cmake
  • vcxproj2cmake (not a typo!)
  • gypify.py is a .sln/solution-reading Gyp file generator. Gyp is a Cmake alternative, currently being used by the Chromium project (base for Google's Chrome browser). Gyp will output Makefile, Visual Studio or XCode build files (see Gyp's '-f [make|scons|msvc|xcode]' switch). This Python script is quite promising, I'm hoping to modify it soon to correctly specify header-containing folders for gcc's '-I' include parameter.

Other Cmake/Make-related conversion tools:

  • Make It So Converts Visual Studio solutions to Linux gcc makefiles
  • sln2mak C# project
  • sln2mak Perl script
  • GUCEF Project includes the ProjectGenerator tool, for Cmake
  • gencmake (ruby) – KDE Project
  • 'pbtomake' says it can convert XCode xcodeproj/pbproj files to Makefiles (maybe outdated)

Cheers

Rich