On Oct 26, 2008, at 11:17 AM, Óscar Fuentes wrote:>> It would be simpler for autoconf builds to have a Perl script that >> updates the CMakeLists.txt files when necessary. (This doesn't look >> *that* hard, but I can't say when I'll surface long enough to work >> on that.) > > In theory, it is possible to do this with cmake itself. In practice, > it > doesn't matter much because: > > 1) either CMake becomes the de facto standard for LLVM, deprecating > autoconf&&gmake and thus requiring the developers to update the > CMakeLists.txt files to compile their sources...FWIW, when it is ready, I'd strongly prefer to use cmake for everything. We should have one build system to rule them all, and the whole reason that cmake seems awesome is that it covers all the build hosts we care about. That said, I don't really think the file globbing is that big of a "feature". If it turns out that we don't get it with cmake, that's ok. -Chris
Chris Lattner <clattner at apple.com> writes: [snip]> That said, I don't really think the file globbing is that big of a > "feature". If it turns out that we don't get it with cmake, that's > ok.Automatic file globbing is, at least on GNU systems, possible with CMake. It would require some added complexity, and this I want to avoid. File globbing saves a minute or two per year and developer. Just one broken build caused, directly or indirectly, by a bug on this feature would send down the drain all the time you saved on the whole life of the LLVM project. OTOH, achieving a build system that is efficient and easy to maintain would be a major gain. Once it is finished, I expect that some minutes of study would be enough for understanding how the LLVM CMake build system works. Add an hour more and you will be ready for some major maintenance work, without previous CMake experience. Apart from its multiplatform, multitool character, this is where CMake is vastly superior to autoconf & gmake. -- Oscar
On Oct 26, 2008, at 1:58 PM, Óscar Fuentes wrote:> Chris Lattner <clattner at apple.com> writes: > > [snip] > >> That said, I don't really think the file globbing is that big of a >> "feature". If it turns out that we don't get it with cmake, that's >> ok. > > Automatic file globbing is, at least on GNU systems, possible with > CMake. It would require some added complexity, and this I want to > avoid. > > File globbing saves a minute or two per year and developer. Just one > broken build caused, directly or indirectly, by a bug on this feature > would send down the drain all the time you saved on the whole life of > the LLVM project. > > OTOH, achieving a build system that is efficient and easy to maintain > would be a major gain. Once it is finished, I expect that some minutes > of study would be enough for understanding how the LLVM CMake build > system works. Add an hour more and you will be ready for some major > maintenance work, without previous CMake experience. Apart from its > multiplatform, multitool character, this is where CMake is vastly > superior to autoconf & gmake.I completely agree, -Chris