[Python-Dev] Evaluated cmake as an autoconf replacement

Alexander Neundorf alex.neundorf at kitware.com
Mon Mar 30 19:34:50 CEST 2009


Hi,


On Mon, Mar 30, 2009 at 1:22 AM, Christian Heimes <lists at cheimes.de> wrote:
> Jeffrey Yasskin wrote:
>
>>  1. It can autogenerate the Visual Studio project files instead of
>> needing them to be maintained separately
>
> I'm familiar with the Unix and the Windows build system. More than a
> year ago I went to a great deal of work to migrate the Windows builds
> from VS 7.1 to VS 9.0. I'm in doubt that any automatic tool can create
> configuration files that are as good as our hand made files.

This of course depends on the definition of "as good as" ;-)
Well, I have met Windows-only developers which use CMake because it is
able to generate project files for different versions of Visual
Studio, and praise it for that.

> The VS project files support debug, non debug and profile guided
> optimization builds for X86 and AMD64 including cross compilation of
> AMD64 binaries.

CMake supports different build configurations.

> The project files are using multiple inheritance to
> avoid duplication of options.

No idea. Maybe it wouldn't be necessary ? With CMake you can just
generate different buildtrees with different options, so you can get
different behaviour in these trees.

> The differences between Windows and Unix builds are fairly large, too.
> On Windows lots of modules are built in and the remaining Python
> extensions are build with VS directly. On Unix most modules are build as
> shared libraries using distutils and setup.py.

That's right. Is there actually a real reason for this ?
When I posted the cmake files for python in 2007 I think they also
worked for Windows,, but I didn't test this that much.

> In my opinion any change to an automated system is a waste of precious
> developer times and makes our Windows support worse.

Seriously, I don't think so.
In KDE, our (small group of) Windows developers are the ones which
appreciate CMake most.
At Kitware, support for Windows and MSVC is a primary feature of
CMake, not an afterthought.

Alex


More information about the Python-Dev mailing list