[CMake] converting VS projects to CMake

Brandon Van Every bvanevery at gmail.com
Sat Feb 9 07:16:07 EST 2008


On Feb 9, 2008 6:43 AM, Sylvain Benner <benner at virtools.com> wrote:
>
> First of all I want to clarify some points:
> I talk only about large scaled development projects

I think large scale projects are the only ones worth going after.
Medium-to-small projects, like 100K LOC or less, don't need enough of
a build system to be especially committed to CMake.  They'll drop
stuff on a whim, due to laziness or a change of project members.
Large projects need ongoing stability, it's not easy to replace the
build.

> > What do you mean by "framework?"
> >
> A framework is all the stuff which is not just a conversion of a project
> file (vcproj, makefile, or whatever) to a working CMakeLists.txt. This
> stuff drives all the CMakeLists files which cannot live otherwise.
> Converting this kind of stuff hiding in a vcproj file is impossible to do.

I'm not sure what you mean.  Are you talking about stuff that's
destined to become an add_custom_command?

> For big projects with dozens and dozens of project files, the issue is:
> "it will not work 100% for me and I don't want to search for the xx%
> that does not work".

You may not want to, but for any build system conversion, you have to.
 To me, the goal of a preliminary translation + cost estimation
framework, would be to clearly demarcate what does and doesn't work.
Probably best to give some stats on that too.  X% translated.  Also
the translation framework has to allow for incremental progress.
Like, I've got an 80% translation, and to bring it up to 83%, I add
several functions that fire off in a pipeline.

> My advice for somebody who needs to convert a big scaled project running
> on MSVC:
> Focus on CMake, don't cut the learning steps and start with the
> beginning is a lot more valuable. Eventually use/write/script some basic
> export tools to help you in your process.

Training and mastery is often perceived as taking too long though.  I
think CMake would be a lot better off if it could say, "Hey presto
here are some results!"  Enough to make people realize that their
conversion isn't hopeless and imponderable, that all they really have
to do is dive in and clean up the translation output.


Cheers,
Brandon Van Every


More information about the CMake mailing list