vcproj2cmake Icon



Visual Studio .vc[x]proj to CMakeLists.txt (make, Ninja ...) enabler

5.0 Stars (1)
0 Downloads (This Week)
Last Update:
  Browse Code Git Repository


Elaborate Visual Studio .vcxproj / .vcproj projects to CMakeLists.txt converter, enabling Makefile or Ninja or IDE builds, i.e. full multi-platform CMake functionality (Linux, Mac, Windows...). Live Update capability: supports side-by-side tracking of evolving original proj files, within build tree!! Script hooks for static CMake defs, powerful definition-to-variable mapping.

Access to project data content is via git repository _only_ (it's a developer infrastructure project, thus alternatives are less suitable). Be aware of several branches available for checkout (git branch -a): "experimental_unverified" is for the daring (to start with current most featureful code), while usability of "experimental" always gets hardened via a large build.

For instructions see README.txt - for ad-hoc access see Browse Code button (experimental_unverified head) -, then attempt guided installation on a .vc[x]proj-based source tree, via install_me_fully_guided.rb .

Devel cooperation welcome!!

vcproj2cmake Web Site


  • Simplifies cross-platform (Linux, Mac, ...) porting of existing larger Visual Studio projects
  • _Online_ (side-by-side) tracking of evolving original static .vc[x]proj files
  • While your colleagues are working in VS/Windows only, you may use any IDE/platform supported by CMake
  • Very detailed README file
  • Provides a sophisticated hook script mechanism at various places in the converted CMakeLists.txt files
  • Per-platform deflection of definitions, dependencies and includes via mapping files
  • Automagical CMakeLists.txt re-conversion in case of changed .vc[x]proj files
  • Intends to create (almost) self-hosting CMakeLists.txt files (convert-and-go)
  • Minimalist-style CMakeLists.txt generation: minimizes open-coded/repeated content, configurable comment verbosity
  • Supports single-configuration and multi-configuration CMake generators
  • Many advanced .vcproj tags (revision control etc.) properly retained
  • Fully recursive handling of Visual Studio file groups (filters), flexible optional-separate-file generation
  • Currently requires CMake >= 2.6.2 (CMake 2.8.x also working well)
  • Provides separate script for recursive parsing of project hierarchies (multi-process/-thread)
  • Provides very flexible yet easily usable per-target install() mechanism
  • Cleanly separated build parser / validator / generator stages (suitable to be extended into a Universal Build Converter, e.g. for autoconf etc.)
  • Powerful MIDL integration: native Win32 / Wine widl / emulated stubs modes
  • Supports additional compiler functionality (currently: PDB files).
  • Additionally supports multiple .vc[x]proj files within a single directory (non-recommended use case?)
  • TODO: support directory hierarchy conversion via parsing of a solution (.sln) file
  • TODO: add generator support for many native compile / link tool flags
  • TODO: add generator support for precisely translated foreign-tool flags
  • TODO: improve / robustify hook script mechanism
  • TODO: clever, easy support for multi-component Find scripts
  • TODO: extend support for typical msbuild syntax features (item metadata, etc.)
  • TODO: more Visual Studio / Code::Blocks / Eclipse / Xcode / ... generator support improvements


Other Useful Business Software

Protect your Network & Cloud Assets with USM Anywhere Icon

Discover a better way to detect & respond to threats before they impact your business with AlienVault USM Anywhere.

Protect your Network & Cloud Assets with USM Anywhere Icon
AlienVault® Unified Security Management™ (USM™) is an innovative approach to security monitoring, delivered in a unified platform. The USM platform includes five essential security capabilities that provide resource-constrained organizations with everything they need for effective threat detection, incident response, and compliance management, in a single pane of glass.

User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
Write a Review

User Reviews

  • 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5

    Very much thanks to the author(s)! This saved me a great deal of time in porting projects from Windows -> Mac/Linux. Most appreciated and helpful tool! A note to other developers using CMake 2.8+. You may want to edit the generated CMakeLists.txt to fix the modules/config path to use CMAKE_SOURCE_DIR instead of "./". Use the following if you get include errors: set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules" ${CMAKE_MODULE_PATH}) set(V2C_CONFIG_DIR_LOCAL "${CMAKE_SOURCE_DIR}/cmake/vcproj2cmake")

    Posted 08/31/2013
Read more reviews

Additional Project Details

Intended Audience

Information Technology, Developers

User Interface


Programming Language

C++, Ruby



Thanks for helping keep SourceForge clean.

Screenshot instructions:
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

No, thanks