-----Original Message----- From: Raymond Wan [mailto:rwan.w...@gmail.com] Sent: Tuesday, August 4, 2015 6:53 PM To: Scott Aron Bloom Cc: cmake@cmake.org Subject: Re: [CMake] on cmake supporting one arch per project (from CMake IR)
On Wed, Aug 5, 2015 at 8:23 AM, Scott Aron Bloom <sc...@towel42.com> wrote: > I understand.. However, my point are these. > > First, its no longer just windows, its windows and mac using XCode. > Second, VS and XCode ALREADY support this feature in their IDE. In NON CMake > created project systems, I can have in 1 project, Arm, Android, Windows > Phone, x86 and x64. Where some applications in the project get built, others > don’t, and every library can get built with different options. This isn’t a > CMakeLists.txt issue, it’s a Solution "output" from Cmake issue. > Third, its on linux as well, more and more IDEs support multiple targets and > platforms for a given project. Eclipse, and I believe Qt Creator (though I > could be wrong) to name two popular ones. Hmmmm, well, this last point raises the question of whether the support you're asking is best served by the IDE developers by "wrapping around" CMake (or some other build tool). > Fourth, just because it "was this way" doesn’t mean "it should always be this > way", that’s a pretty depressing point of view to take on. ... > All we are asking for (and we do realize its not trivial to implement) is to > generate both multiple configuration and targets. It is a depressing view and not quite what I was suggesting. It's more like "was this way" is working for some people already. The new feature that you and some others are asking for seems to be a lot of work (NB: I'm not a CMake developer). And it *feels* like that this is something that either the build tool could support or maybe even the IDE. As the IDE here is closed source and doesn't permit changes, then changing the more open build tool is the next logical step. But if effort is put into making some CMake 4.0 and suddenly VS's IDE puts what you desire out within the IDE, then there will be no users. Or, not enough to justify the effort... Again, I'm not a Windows developer, but would this statement be correct? Does VS or Xcode permit "plugins" to be created by the community so that maybe one could be made to "wrap around" CMake? Ray ===== I know VS absolutely allows for plugins, but I do not believe it would be appropriate, to be honest, I don’t think you fully understand the problem being put forth. For VS, the project it loads, has no idea it came from CMake, or from any other build system (qmake etc). For VS at the top level it’s a sln (solution) file, and each library or executable is a project file (vcproj or vcxproj for newer versions). CMake generates these files, and the IDE loads the SLN file in first, which points to which project files to load. For every file, its possible (not typical) to have different options for both configuration (debug, release, relwithdebug etc) as well as target technology (win32, win64 etc). Typically files, get their options from the project settings, and each project has settings for config and target. However, they are in the same file per project. It really wouldn’t make sense to have the IDE generating its own project files from CMakeList.txt files, though it is theoretically possible. And in reality, I have been a VS (as well as makefile developer) for over 25 years, since before it was Visual Studio, their typical flow, is to use the IDE to create the SLN and Project files using their methods, again it could be a plugin, however, to do so, you would have to write a CMake plugin, which could parse a CMake input file set, and create a complete solution. To me it seems like overkill, since the pluging would have to be in a VS plugin compatible language (at least at the interface). Again possible, but its never going to come from MS (or apple for XCode) I do understand the current cmake works for many users, however, right now for XCode and VS, its missing a major aspect of the development process. And for both of them, PART of the need is already serviced. I can tell you, I would never have pushed my company (and it was my decision) to use CMake, if it ONLY supported 1 configuration per solution file (debug vs release). That would have been a major step back from QMake. Scott -- 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