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!!

Features

  • 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

Project Activity

See All Activity >

License

BSD License

Follow vcproj2cmake

vcproj2cmake Web Site

You Might Also Like
Event Management Software Icon
Event Management Software

Ideal for conference and event planners, independent planners, associations, event management companies, non-profits, and more.

YesEvents offers a comprehensive suite of services that spans the entire conference lifecycle and ensures every detail is executed with precision. Our commitment to exceptional customer service extends beyond conventional boundaries, consistently exceeding expectations and enriching both organizer and attendee experiences.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
1
0
0
0
0
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

User Reviews

There are no 3 star reviews.

Additional Project Details

Intended Audience

Information Technology, Developers

User Interface

Command-line

Programming Language

C++, Ruby

Related Categories

C++ Build Tools, C++ Software Distribution Software, C++ Libraries, Ruby Build Tools, Ruby Software Distribution Software, Ruby Libraries

Registered

2010-06-18