[CMake] Generating CMake scripts from Visual Studio solutions & projects?

Andreas Mohr andi at lisas.de
Sat Feb 18 09:12:17 EST 2012


Hi,

On Fri, Feb 17, 2012 at 12:00:10PM -0500, cmake-request at cmake.org wrote:
> Date: Fri, 17 Feb 2012 11:48:28 -0500
> From: John Drescher <drescherjm at gmail.com>
> Subject: Re: [CMake] Generating CMake scripts from Visual Studio
> 	solutions &	projects?
> To: Eric Noulard <eric.noulard at gmail.com>
> Cc: CMake ML <cmake at cmake.org>
> Message-ID:
> 	<CAEhu1-56yW9fE5Xm-Bng+Y=wV+ig30WBcDV9dCUZ2hgriTy7OA at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> > Did you try the tool listed in the Wiki
> > http://www.cmake.org/Wiki/CMake#Visual_Studio
> >
> 
> I would be interested in if you get any of these to work well with non
> trivial projects. When I last looked at some of these (probably 2+
> years ago so things may have changed) they did not work well with my
> complex visual studio projects.

"2+ years"? That could easily end up like a Yugo vs. Porsche surprise ;)


The original vcproj2cmake script was composed of 300 lines,
and now the project is to the tune of around 4000 lines.

I've been doing more intensive updates in recent times,
carrying out parser <-> generator stages separation
and trying to get VS10 .vcxproj support finished real soonish.

For the (rather elaborate) needs of my largish build tree,
current .vcproj live conversion support is very adequate,
however there are still several weak or potentially even completely missing
areas left
(not to mention that differing requirements due to cross-platform extension
can easily mean that the base dataset itself as found in VS project files
is somewhat insufficient from the get go -
which my extensible hooks and mappings are supposed to be taking care of).
There's also a fair share of dark corners on CMake side as well, though
(include_directories() etc.), thus it's obvious that certain areas
of build systems often are considered to be less important.


Due to still very high development activity (i.e., many new features and
corrections arriving), at least for new users I'd _currently_ recommend
starting by directly checking out the "experimental_unverified" branch;
some longer-time users might need more stability and could thus
keep subscribing to "experimental", whereas "master" currently is (too?) old.

If someone would like to create CMakeLists with it or use .vcproj
in their build, then simply ponder making use of the converter
(and possibly let me know of any issues or ideas that might turn up).

Thanks,

Andreas Mohr


More information about the CMake mailing list