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

Other Useful Business Software
Codesoft Barcode Label Software Icon
Codesoft Barcode Label Software

RFID and barcode label software to set your business up for success

CODESOFT is an enterprise-level RFID and barcode label design application offering unmatched flexibility, power, and support. Available in print-only, single-user, and network configurations, CODESOFT is designed to meet all of your barcode labeling needs. Whether your goal is streamlining label printing, printing labels using a form, connecting a scale to your label template, or integrating your business database with your label templates, CODESOFT provides a solution for your organization’s most advanced labeling needs. Connect to SQL or Oracle databases for business system integrations and greater efficiency. CODESOFT includes over 100 barcode symbologies including GS1, supports all common image formats, and enables rich text editing. Native printer drivers are included for over 4,000 thermal, thermal transfer, and inkjet label printers to ensure the best label printing quality.
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

  • 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")
Read more 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