[CMake] Visual Studio Project System Extensibilty

Parag Chandra parag at ionicsecurity.com
Tue Jun 9 13:52:26 EDT 2015


Somewhat related: CLion, the new C/C++ IDE from JetBrains, uses CMake directly as its project system:

https://www.jetbrains.com/clion/

Not free, but also cross-platform.


Parag Chandra
Senior Software Engineer, Mobile Team
Mobile: +1.919.824.1410

[https://www.ionicsecurity.com/IonicSigHz.png]<https://ionic.com>

Ionic Security Inc.
1170 Peachtree St. NE STE 400, Atlanta, GA 30309











From: Nagy-Egri Máté Ferenc via CMake <cmake at cmake.org<mailto:cmake at cmake.org>>
Reply-To: Nagy-Egri Máté Ferenc <csiga.biga at aol.com<mailto:csiga.biga at aol.com>>
Date: Tuesday, June 9, 2015 at 1:32 PM
To: David Golub <golubdr at gmail.com<mailto:golubdr at gmail.com>>, 'Alexey Petruchik' <alexey.petruchik at gmail.com<mailto:alexey.petruchik at gmail.com>>, "cmake at cmake.org<mailto:cmake at cmake.org>" <cmake at cmake.org<mailto:cmake at cmake.org>>
Subject: Re: [CMake] Visual Studio Project System Extensibilty

I’m curious too, but I think that it would be easier to use a fixed format for project representation, such as the suggested CPS, and have it generate a CMake file if an update is needed.

CMake generally lacks any kind of structure, users are generally free to roam about the script language. Qt Creator is doing a similar thing. You have a .pro file that is maintained by the IDE, and this .pro file is translated to a QMake script, which then translates to a native build system. Such a project could start off impementing the translation from CPS to a strictly formatted, auto-generated CMake script that only covers the features of the IDE. Once that is done, the next few steps can be taken to extend it’s capabilities by adding new switches, levers and buttons to the Properties section of the Solution/Project entities.

While it does not strictly relate, I would suggest people take a visit here:

http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7752684-add-cmake-support

Visual Studio Code is a promising new IDE that is completely cross-platform and already has pilot support for brand new stuff, such as Rust language support. It is a new IDE (that currently looks more like a code editor, as far as C++ is concerned), and user input greatly influences the course of action from the developers POV. The last patch issued took 2 months and adds ~300 bug fixes and feature requests, most originating from uservoice.com.

Please take a moment and up-vote CMake support. Most likely on all platform it would rely on the newly open-sourced MSBuild system.

Nontheless, it would be a great win for CMake, if an IDE picked up GUI editing of projects that translate to CMake automatically. Either by Visual Studio Code picking up support, or if someone took the time and implemented CMake project for old-school VS through CPS.

Cheers,
Máté

ps.: David, great job on the VS Add-In for CMake. We love it!

Feladó: David Golub<mailto:golubdr at gmail.com>
Elküldve: ‎hétfő‎, ‎2015‎. ‎június‎ ‎8‎. ‎0‎:‎27
Címzett: 'Alexey Petruchik'<mailto:alexey.petruchik at gmail.com>, cmake at cmake.org<mailto:cmake at cmake.org>

Probably doable but still a lot of work.  It took me about a year over my nights and weekends to implement CMake Tools for Visual Studio, which provides syntax highlighting and IntelliSense for CMake but no project system (yet).

From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Alexey Petruchik
Sent: Sunday, June 07, 2015 1:45 PM
To: cmake at cmake.org<mailto:cmake at cmake.org>
Subject: [CMake] Visual Studio Project System Extensibilty

Microsoft recently announced Project System Extensibility in Visual Studio 2015.

http://blogs.msdn.com/b/visualstudio/archive/2015/06/02/introducing-the-project-system-extensibility-sdk-preview.aspx

Just curious if this can be used to let Visual Studio directly open CMake projects?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150609/e7d6a74b/attachment-0001.html>


More information about the CMake mailing list