How to support both vcxproj to cmake on a project?

Solution 1:

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

Solution 2:

You're coming at it backwards -- set up all your CMakeLists.txt and then generate the MSVC project from it.

It shouldn't be hard or time-consuming. Basically you just need to say which directories to look into, declare your include paths, collect your *.cpps for each library with a glob expression, and declare your dependencies.

If you have to set up anything else, then your project probably isn't very portable :-/

Solution 3:

The best tool for this purprose is cmake-converter