Skip to content

Remove Visual Studio project files #5231

Open
@kukkamario

Description

Right now two separate build systems are used: Visual Studio project files and CMake. For many years CMake support on Windows IDEs haven't been great (especially with MSVC) and because most developers have used Visual Studio as their main IDE, keeping project files around for easier development has been reasonable. But since MSVC 2017, Visual Studio has supported CMake server mode that allows using CMake build system without generating Visual Studio project files that has greatly improved usability of Visual Studio with CMake. So now might finally be a time to move to a single build system on all platforms.

Using only single build system would make cross platform development easier and refactoring simpler because resolving conflicts in CMake files is much easier than in Visual Studio project files and there wouldn't be any more need to change both Visual Studio project files and CMake files. CMake features could be used more efficiently to track issues with dependencies.

This issue is meant to be a place for tracking problems that are still blocking from everyone moving to using CMake instead of Visual Studio project files.

Things that I think should be done before Visual Studio project files can be dropped:

  • Add a wiki page or similar document that helps with setting up CMake on Visual Studio (example CMakeSettings.json?) and maybe some other common IDEs (QtCreator, CLion?).
  • Improve CMake variable documentation (README.md seems to be a bit outdated currently)
  • FAQ of common problems with CMake
  • Actual pull request that removes VS project files and changes Appveyor to use CMake.
  • Any other issues that developers have with moving their workflow to CMake.

Metadata

Assignees

No one assigned

    Labels

    Build and CIAnything related to the build process and continuous integrationOS: Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions