[CMake] on cmake supporting one arch per project (from CMake IR)

Raymond Wan rwan.work at gmail.com
Tue Aug 4 20:14:14 EDT 2015


On Wed, Aug 5, 2015 at 7:10 AM, Scott Aron Bloom <scott at towel42.com> wrote:
> ===================
> IMO, this is one of the biggest shortcomings of CMake.  I understand the heritage of the CMake world being "make file" based..  I really do.. And I love having a true "out of source" make file generator for when I am doing my Linux based development.  And I don’t mind having a src tree, a build, a build.rel, build.32 and a build.rel.32 etc etc for every possible configuration I need.
>
> However, when on windows, in VS, having at a minimum of two build directories (64 vs 32) is a major downside of CMake.
>
> I understand if its not in the 3.X timeframe, as I would expect it to be a major change.. But IMO, being able to have architecture as well as build types in one VS project (as well as xcode) would be a major improvement for the community.
> Scott


I don't do any Windows development, so I didn't realize this.  But to
change CMake (even 4.x) to accommodate this seems strange to me.  I
mean, for the Linux/Unix developers out there, it "works".  While
there was an earlier argument that the vast majority of users are
Windows-based, if we consider just developers, then I don't think the
difference is that large.

In any case, as alluded to in the other thread, why not develop a
Windows-way of creating CMakeLists.txt -- i.e., create another project
(WMake or WCMake :-P ) that generates partially compatible
CMakeLists.txt ...  Or maybe VS should be including this as a feature
in their IDE, instead?

Alternatively, perhaps we should just admit that Windows and
Linux-based development are different.  And CMake supports
"cross-platform development (including Windows) for Linux-based
developers".  Not suggesting it should turn away Windows-based
developers, but just admit that it was created with a Linux/Unix
mindset (for better or worse) and can't satisfy all development
paradigms...

Ray


More information about the CMake mailing list