From: Konstantin T. <an...@ya...> - 2012-01-22 10:47:48
|
22.01.2012, 12:07, "Jason McKesson" <ko...@gm...>: > On 1/21/2012 8:59 AM, Konstantin Tokarev wrote: > >> 21.01.2012, 19:00, "Gour"<go...@at...>: >>> On Sat, 21 Jan 2012 08:40:16 -0500 >>> Jason Perkins >>> <st...@in...> wrote: >>>> They solve different problems. Lake builds your software, like rake >>>> or make. Premake generates the input files for tools that build your >>>> software. >>> Thank you. >>> >>> Now it's clear we want/need premake. ;) >> However, it would be great if we had some form of "build tasks" defined in Lua >> in Premake. Some common operations (e.g., copying/renaming/symlinking files, >> creating directories) cannot be defined in portable manner using only underlying >> build tool. I hope that my patch allowing to define chains of actions linked by >> dependencies [1] can improve this situation, however solution of Lake may >> appear to be more powerful. >> >> There are a few other things that Lake does better: >> >> 1. It uses LuaFileSystem instead of custom code for file operations. >> 2. It's more oriented on being usable as Lua module >> 3. It includes some built-in support for pkg-config (we doesn't do it beyond >> generic os.outputof()) >> >> [1] http://sourceforge.net/tracker/?func=detail&aid=3465239&group_id=71616&atid=531880 > > Premake exists to be able to build build files for existing build > systems. It should not be used to actually build the project or do any > kind of pre-processing build setup work. I don't get this point. What do you propose for build setup? Autoconf from Stone Age? > Using LFS means requiring LFS, which means having a dependency. Which > means that it's not a simple "download-and-go" system, but instead > requires installation. That's bad. I don't get this too. 1. LFS is not something big and it doesn't have external dependencies. It can be easily included into Premake, replacing custom code. 2. Ignoring well-tested and widely used 3rd party code is just NIH syndrome. > Really, I don't get the point of Lake. It's just another Make, like > CMake, ANT, NANT, etc. We've got a half-dozen of these things by now, > and the only one of them that even threatens to supplant Make is CMake. Seems you don't understand what CMake is. It's not a replacement for Make, but uses Make as one of "existing build systems" for which it generates input files. However, it provides powerful configurator (allowing to find dependencies, check for availability of certain functions in system libraries, etc.), and supports other things like fetching and building of external projects, testing, and packaging. -- Regards, Konstantin |