There is no technical reason... But it seems to me there is a strong bias
toward single-architecture build trees in the minds of non-VS/non-XCode
developers.

There is rampant code like this in the world:

if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  # do 64-bit stuff at CMake time
else()
  # do 32-bit stuff
endif()

Code like this assumes the architecture is determined at configure time
rather than at build time. Very similar to using CMAKE_BUILD_TYPE in CMake
code geared toward a single-config build. A lot of (some would say too
much) effort over the years was required to get multi-configuration builds
working well for VS. Unfortunately, a similar approach was not followed for
the architecture types, and we've ended up with a proliferation of
generators, and now the concept of toolsets, but still the restriction that
a generated solution and set of project files is only of a single
architecture.

Hope this helps to explain the situation a bit.

I know it's not what you wanted to hear, but, from my perspective, that's
the way things are.

If you'd like to work on improving the situation...... I'm sure your
efforts would be welcomed by many. ;-)


Cheers,
David C.




On Sunday, March 8, 2015, Scott Aron Bloom <scott.bl...@onshorecs.com>
wrote:

>  That's what I have found as well.
>
>  Based on that.   Why can't call create a 64 and 32 bit solution?
>
>  It would seem to me,  that there is no technical reason.
>
>
>  --Scott
>
>
> -------- Original message --------
> From: Ryan Pavlik <ryan.pav...@gmail.com
> <javascript:_e(%7B%7D,'cvml','ryan.pav...@gmail.com');>>
> Date:03/08/2015 06:35 (GMT-08:00)
> To: Scott Aron Bloom <scott.bl...@onshorecs.com
> <javascript:_e(%7B%7D,'cvml','scott.bl...@onshorecs.com');>>, John
> Drescher <dresche...@gmail.com
> <javascript:_e(%7B%7D,'cvml','dresche...@gmail.com');>>
> Cc: cmake@cmake.org <javascript:_e(%7B%7D,'cvml','cmake@cmake.org');>
> Subject: Re: [CMake] Multi-platform visual studio projects
>
>  You are correct: if you're using the visual studio generators it doesn't
> matter (in general) what your process environment variables are. Note that
> if you're using find package, some of those scripts use environment
> variables to help find libraries, but they are not the "standard" variables
> set by the visual studio command prompt scripts.
>
> The command prompt would matter if, for instance, you were using the nmake
> makefiles generator.
>
> Ryan
>
> On Wed, Mar 4, 2015, 11:03 AM Scott Aron Bloom <scott.bl...@onshorecs.com
> <javascript:_e(%7B%7D,'cvml','scott.bl...@onshorecs.com');>> wrote:
>
>> Another question on this..
>>
>> It appears, that cmake creates the proper solution, for 64 bits even if
>> the shell is setup for 32 bits, and vice versa.
>>
>> Is this correct?  Meaning when its checking the C compiler and CXX
>> compiler ABI info and what not, its not looking for bit width, it uses the
>> generator "Visual Studio...Win64" vs "Visual Studio" for bit width
>>
>> If Im not using a command line based build, does it matter how my command
>> line is setup for running cmake?
>>
>> Scott
>>
>> -----Original Message-----
>> From: CMake [mailto:cmake-boun...@cmake.org
>> <javascript:_e(%7B%7D,'cvml','cmake-boun...@cmake.org');>] On Behalf Of
>> Scott Aron Bloom
>> Sent: Friday, February 27, 2015 8:26 AM
>> To: John Drescher
>> Cc: cmake@cmake.org <javascript:_e(%7B%7D,'cvml','cmake@cmake.org');>
>> Subject: Re: [CMake] Multi-platform visual studio projects
>>
>> Thanks!
>>
>> -----Original Message-----
>> From: John Drescher [mailto:dresche...@gmail.com
>> <javascript:_e(%7B%7D,'cvml','dresche...@gmail.com');>]
>> Sent: Friday, February 27, 2015 8:26 AM
>> To: Scott Aron Bloom
>> Cc: cmake@cmake.org <javascript:_e(%7B%7D,'cvml','cmake@cmake.org');>
>> Subject: Re: [CMake] Multi-platform visual studio projects
>>
>> > However,  once the solution is created, does the "path" of the shell
>> matter at all?
>>
>> No.
>>
>> John
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/
>> opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/
>> opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>>
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to