On 02/18/2011 04:48 PM, j s wrote: > Hello, > > There is nothing wrong with another build system. Not all build systems fit > everyone needs, much like subversion and git being suitable for different > development styles. > > When I have the time, I will start developing my own build system. It will > have the following proposed features. >
Just my thoughts below, giving some reasons I think CMake is the way it is. > 1. Dependency generation by the compiler, so that the include generator > understands the c-preprocessor. Well, cl.exe for one doesn't do this trick. This means, you'll have to put it in your build system, and once you've done that, why should you use the compiler then? Especially, since you'll want to be consistent across platforms. > 2. Tcl (or other) scripting language, which has clearly defined variable > scoping rules and well understood semantics. There are many pros for this idea, but a very important con: People will use it as a general purpose programming language (see what often happens to SCons projects). Even CMake has this problem to a lesser extent (IMHO mainly because it's a PITA to program ;-)). But I think some people at Kitware are/were experimenting with Python bindings... > 3. Ability to generate object files and use the same ones in multiple > contexts. It's very easy to shoot yourself in the foot with that. Different uses might require different compiler flags on different platforms. > 4. Ninja generator or built in backend instead of per platform native > backends. I also was wishing for some "native" generator for CMake recently... > > I've gotten the impression from the Cmake mailing list the first 3 are not > being planned for CMake. > > Juan Michael _______________________________________________ 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://www.cmake.org/mailman/listinfo/cmake