[CMake] [VS gen] Multiple configurations code

Olaf van der Spek olafvdspek at gmail.com
Mon Jul 26 15:46:23 EDT 2010


On Mon, Jul 26, 2010 at 9:21 PM, David Cole <david.cole at kitware.com> wrote:
> Olaf,
> It's definitely not easy to make such a modification with the current VS
> generators. For better or for worse, there are currently separate generators
> for Visual Studio 32-bit and 64-bit projects. It would be a major re-working
> of those separate generators to combine them into a single one that chose
> the architecture at *build* time rather than at configure time.

Why are there two generators?
I don't see why the decision has to be made at another time.
Configure time is fine with me.

> Many projects already have logic in their CMakeLists.txt files that goes
> something like this:
> if(CMAKE_SIZEOF_VOID_P EQUAL 8)
>   # do 64-bit stuff at *configure* time...
> else()
>   # 32-bit stuff
> endif()
> If you make *configure* time decisions based on architecture, then it's not
> easy to support multiple architectures without multiple configures.
> (Multiple build trees...)

Is there a problem with multiple configures / build trees?

> Since this is a prevalent scheme that is widely used by folks coming from
> single-config, single-architecture (makefile based) build systems... it's
> the way CMake has gotten to the point it's at now. I'm not saying this is
> good or bad, just explaining that this is the way it is, and that there are
> historical reasons why we got to this point.
> So.... what you're attempting is probably possible, but it's definitely not
> easy. And it will probably require some significant re-work of the existing
> code.
> Let us know if you have any other specific questions that we can answer for
> you.

x64 is not a priority for me ATM.
Having static configs (static lib, static runtime and static lib,
dynamic runtime) is more important.

Olaf


More information about the CMake mailing list