Re: [cmake-developers] Generators and Extra Generators
On Tuesday 07 January 2014, Stephen Kelly wrote: > David Cole wrote: > > There's been a design issue since extra generators were introduced... > > > > The question is: is it possible to resolve it with a better design and > > still keep the existing functionality? > > Hence this mail :), and my mail to cmake.users about the "Kate Extra > Generator" being the wrong interface/design. > > I'd like to see cmake generate all the info a UI would need in a simple and > non-tied-to-a-particular-implementation way. That would be something Qt > Creator and Kate could use as it would list the targets, the compile lines > for objects, link targets, link lines etc. Actually an IDE may have somewhat different needs. As long as it uses an existing buildtool (make or ninja), it doesn't actually need the commands for linking, and also not necessarily for compiling. (if the IDE would execute e.g. the link commands directly instead of calling "make foo", then the IDE would need to be a complete buildtool, i.e. with full dependency handling between the targets etc.). It does need information which include dirs and definitions are used, per target, probably better per source file, so it can do proper completion etc. IMO it needs information in which CMakeLists.txt a target has been added, to support the user by editing the cmake files. It needs to know to which target(s) a source file belongs, and vice versa, it needs to know the language of each source file (since this can be overridden via the LANGUAGE property in cmake). I'm quite sure IDE developers can think of more they'd like to know. As I said, it would be really cool if this information could be put complete and IDE-independent in a project file. Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
On Wednesday 08 January 2014, Stephen Kelly wrote: > Alexander Neundorf wrote: > > On Tuesday 07 January 2014, Stephen Kelly wrote: > >> Is there a design issue here? > > > > I run cmake-gui and select the one I want from a list. > > What is the problem, the length of the list ? > > More the combinatorial expansion along multiple axes to add a new type > indicates a 'design smell'. this combinatorial expansion can be avoided, internally the main generator and the extra generator are kept separately, and the long list is basically only generated for presenting it to the user and letting him decide what he wants. This could be presented simply in a different way. As I said, in cmake-gui in some way split into two widgets, and for the CLI it could be split into -G -X . This would need changes mainly in cmake::CreateGlobalGenerator() and cmake::AddExtraGenerator(). Then it goes down from more or less m*n to m+n. Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
Ben Boeckel wrote: > On Tue, Jan 07, 2014 at 18:42:37 +0100, Stephen Kelly wrote: >> Is that all that's needed, do you think? > > Well, it handles the commands required at least. Adding keys to the > objects for targets and output file(s) would be the next step I'd think > if IDE developers are amenable to using it. It's simple enough that > ninja itself could even dump it out. Lets not think/talk in terms of tying to particular tools. > I don't know how crazy it should > get though; you'd be getting pretty close to ninja rules files > themselves after too much time. That's not an absolute certainty. I don't think it's likely. Thanks, Steve -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
Alexander Neundorf wrote: > On Tuesday 07 January 2014, Stephen Kelly wrote: >> David Cole wrote: >> > There's been a design issue since extra generators were introduced... >> > >> > The question is: is it possible to resolve it with a better design and >> > still keep the existing functionality? >> >> Hence this mail :), and my mail to cmake.users about the "Kate Extra >> Generator" being the wrong interface/design. > > Sorry about that. > But it does something useful for me, and for other users of the (existing) > kate project plugin. > Since one of the core features of cmake is to create project files for > IDEs, creating project files for kate doesn't look that wrong to me. Creating useful files for kate seems reasonable to me too, but as I said this 'extra generators' design doesn't seem optimal to that. >> I'd like to see cmake generate all the info a UI would need in a simple >> and non-tied-to-a-particular-implementation way. That would be something >> Qt Creator and > > That would be nice. > Once this format exists, IDE developers just need to make use of it. Right, but if that doesn't occur to any of them, it will have to be driven by 'us', to avoid 'us' having to deal with the combinatorial explosion of generators and extra generators. >> Kate could use as it would list the targets, the compile lines >> for objects, link targets, link lines etc. > > Just to avoid misunderstandings: there is currently nothing in kate which > uses such information, and as far as I know nothing is planned. Perhaps more interesting to creator then - at least the compilation related parts. Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
Alexander Neundorf wrote: > On Tuesday 07 January 2014, Stephen Kelly wrote: >> Is there a design issue here? > > I run cmake-gui and select the one I want from a list. > What is the problem, the length of the list ? More the combinatorial expansion along multiple axes to add a new type indicates a 'design smell'. Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
On Tuesday 07 January 2014, Stephen Kelly wrote: > David Cole wrote: > > There's been a design issue since extra generators were introduced... > > > > The question is: is it possible to resolve it with a better design and > > still keep the existing functionality? > > Hence this mail :), and my mail to cmake.users about the "Kate Extra > Generator" being the wrong interface/design. Sorry about that. But it does something useful for me, and for other users of the (existing) kate project plugin. Since one of the core features of cmake is to create project files for IDEs, creating project files for kate doesn't look that wrong to me. > I'd like to see cmake generate all the info a UI would need in a simple and > non-tied-to-a-particular-implementation way. That would be something Qt > Creator and That would be nice. Once this format exists, IDE developers just need to make use of it. > Kate could use as it would list the targets, the compile lines > for objects, link targets, link lines etc. Just to avoid misunderstandings: there is currently nothing in kate which uses such information, and as far as I know nothing is planned. Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
On Tuesday 07 January 2014, Stephen Kelly wrote: > Hi, > > With the addition of the Kate Project stuff, we got 4 new generators rather > than a single option to generate the information needed by Kate in a > generator independent way, similar to CMAKE_EXPORT_COMPILE_COMMANDS. > > http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/48412/focu > s=48471 > > The addition of an "Android Makefiles" generator would also require > > "Kate Project - Android Makefiles" > "Eclipse - Android Makefiles" > "CodeBlocks - Android Makefiles" > "CodeLight - Android Makefiles" > > etc. > > If android decides Ninja is a good idea someday, we get more dimensional > expansion. > > Is there a design issue here? I run cmake-gui and select the one I want from a list. What is the problem, the length of the list ? Then just split the GUI into two dependent comboboxes. Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
On Tue, Jan 07, 2014 at 18:42:37 +0100, Stephen Kelly wrote: > Is that all that's needed, do you think? Well, it handles the commands required at least. Adding keys to the objects for targets and output file(s) would be the next step I'd think if IDE developers are amenable to using it. It's simple enough that ninja itself could even dump it out. I don't know how crazy it should get though; you'd be getting pretty close to ninja rules files themselves after too much time. --Ben -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
Ben Boeckel wrote: > On Tue, Jan 07, 2014 at 17:37:11 +0100, Stephen Kelly wrote: >> I'd like to see cmake generate all the info a UI would need in a simple >> and non-tied-to-a-particular-implementation way. That would be something >> Qt Creator and Kate could use as it would list the targets, the compile >> lines for objects, link targets, link lines etc. As far as I know, >> QtCreator uses the CodeBlocks generator because it contains all that >> relevant information as an xml file. > > Something like this[1]? Is that all that's needed, do you think? Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
On Tue, Jan 07, 2014 at 17:37:11 +0100, Stephen Kelly wrote: > I'd like to see cmake generate all the info a UI would need in a simple and > non-tied-to-a-particular-implementation way. That would be something Qt > Creator and Kate could use as it would list the targets, the compile lines > for objects, link targets, link lines etc. As far as I know, QtCreator uses > the CodeBlocks generator because it contains all that relevant information > as an xml file. Something like this[1]? --Ben [1]http://clang.llvm.org/docs/JSONCompilationDatabase.html -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
David Cole wrote: > There's been a design issue since extra generators were introduced... > > The question is: is it possible to resolve it with a better design and > still keep the existing functionality? Hence this mail :), and my mail to cmake.users about the "Kate Extra Generator" being the wrong interface/design. I'd like to see cmake generate all the info a UI would need in a simple and non-tied-to-a-particular-implementation way. That would be something Qt Creator and Kate could use as it would list the targets, the compile lines for objects, link targets, link lines etc. As far as I know, QtCreator uses the CodeBlocks generator because it contains all that relevant information as an xml file. It's almost possible to do that with a macro and file(GENERATE), but more genex API will be needed for that. I think it would be fine/better to do it in C++ implementation though anyway. Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Generators and Extra Generators
There's been a design issue since extra generators were introduced... The question is: is it possible to resolve it with a better design and still keep the existing functionality? -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] Generators and Extra Generators
Hi, With the addition of the Kate Project stuff, we got 4 new generators rather than a single option to generate the information needed by Kate in a generator independent way, similar to CMAKE_EXPORT_COMPILE_COMMANDS. http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/48412/focus=48471 The addition of an "Android Makefiles" generator would also require "Kate Project - Android Makefiles" "Eclipse - Android Makefiles" "CodeBlocks - Android Makefiles" "CodeLight - Android Makefiles" etc. If android decides Ninja is a good idea someday, we get more dimensional expansion. Is there a design issue here? Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers