On 07/01/2016 05:11 AM, Tobias Hunger wrote: >> For "multiconfig", there is the cmGlobalGenerator::IsMultiConfig method. > I do not see why this information is need to set up a cmake project. I need > two > directories and a generator. Do I need to know what the generator produces at > that point?
If we don't foresee a use case for it we don't need to add it now. The example given in the issue was just a quick demo IIUC and not intended to be authoritative result of deep design thought. > * "Visual Studio 10 2010", > * "Visual Studio 10 2010 Win64" and > * "Visual Studio 10 2010 IA64" [snip] > The cmake command line lets me apparently use "-A platform" [snip] > Why can I specify the platform names in two different ways? Why do > the two ways disagree on the platform name ("Win64" vs. "x64")? See here: https://cmake.org/cmake/help/v3.6/generator/Visual%20Studio%2014%202015.html At one time the generator name was the only way. The names were not originally chosen to match VS's platform names and were then kept for compatibility. The -A/CMAKE_GENERATOR_PLATFORM approach was added more recently to decouple the generator name from the target architecture. > What is the preferred way to set up a Visual studio project nowadays? The preferred way is now: -G "Visual Studio 10 2010" -A x64 Its usage is not widespread because it doesn't make that much difference for x64 and the feature has only been around for a couple years. > If "-A" is the way to go, then I would like to try my hand at adding > a method to retrieve all valid platforms for a generator. CMake has > a lot of code to find those names (or hardcodes known names), so why > not pass it on to the user? If it is reasonably straightforward to do then go for it. That would be nice to offer. > So far I only looked into the visual studio generators, so I might > have missed something that blocks such a method in other generators. The Xcode generator supports CMAKE_GENERATOR_TOOLSET but not CMAKE_GENERATOR_PLATFORM. The Makefile and Ninja generators support neither because they are expected to be run from an environment that is already configured for a given toolchain/architecture. -Brad -- 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-developers