[CMake] Factoring out "third-party-dependent" commands and modules.
Bill Hoffman
bill.hoffman at kitware.com
Fri Jul 24 09:36:33 EDT 2009
Alpha Omega wrote:
> Are there any plans to factor language and framework dependent
> commands out of cmake into plugins ? And modules into separate
> packages/repository ? To me, the fact that cmake source is infested
> with toolkit, ide, language names looks quite ugly. What will happen
> if cmake gains 90% popularity ? 60mb source archive with, and 10mb
> static executable, with stuff for every language/framework etc ?
>
> The distinction between kitware supported modules, and third-party
> ones is not quite pleasing either. That could lead to several versions
> of the same thing floating around (in third-party category), causing
> confusion for users . User doesn't know where to go for
> community-recognized module. I think repository and community review
> process is needed.
I am not sure exactly what you are asking... Seems like two questions:
1. should cmake's language and IDE support be more of a plugin architecture.
2. should cmake's modules be better organized and easier to find
external ones.
So, for 1, I don't think so. We have plugin support for CMake, and it
is hard to work. The problem is that the plugin would be in C++ and
that means it would have to be compiled by the same compiler that CMake
was compiled with. This proved to be very difficult and error prone. I
think the core CMake functionality (IDE and makefile generation) will
remain as part of the CMake executable. I don't think it will grow that
big.
For 2, I think there is plenty of room for improvement. The Module
directory is getting big and cluttered, and I am still not happy with
how external contributions are handled. I am open to suggestions... :)
All that said, there is a strong pull to ship it all in one big thing.
This is because we want to make sure that when you go to build a CMake
based project, you don't have to go hunting around for lots of
dependencies, you should install cmake, and then build.
-Bill
More information about the CMake
mailing list