-----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

Reply via email to