Klaas Holwerda ha scritto: > Francesco Montorsi wrote: > >> It's not just a duplication of already existent work. It adds many new >> concepts and features to the build tool area which I've never seen >> anywhere else (but I admit I'm a bit ignorant on scons/premake side). > > Just mention a few, because i am not aware of that. currently comes to my mind the following ones:
- bake-time != compile-time. This means the makefiles are generated from the developer and used by the users. The users does not have to use a generator and then use their MAKE tool on the generated files. Honestly this is not unique to bakefile. It was e.g. also the logic behind tmake, its predecessor. But AFAIK it's the only build tool to maintain that logic nowadays. - native-tool integration: in this sense it's wx-like. It aims to produce e.g. a perfectly native build system on Unix through autoconf and a native build system on Windows (with makefiles & project files). - object-oriented description language > I only see XML, used to be more or less a programming language in combination > with template like definitions. > And it is even harder to read and follow then Cmake itself, which is not so > easy too. I don't think so. See below. > I don't understand why XML was choosen, i think plain python/wxPython, would > have bin much better. shortly a new <python> tag will be added to bakefile. It will make possible to embed directly python code in the .bkl files. Otherwise you can already code function utilities etc in a separed python file (though AFAIK you cannot declare targets from them). >But maybe i am just > missing the concept, which would explain why XML was/is just the best choice. XML does not require the user to learn a new syntax if he knows XML. The real logic behind the XML choice is: the build system should not be a program but rather an elegant description file which describes what should be built and how. Stop. You don't want e.g. iterative loops in build files, nor you should need a lot of conditionals. The build system files should be syntethic descriptions. Ok, in practice I know they are not. And in particular currently they contains too many <if>s. Ways to avoid them are possible and in fact I think in future their presence will be much more limited. > <if cond="FORMAT=='msvc' or FORMAT=='mingw' or FORMAT=='gnu' or > FORMAT=='autoconf'"> > <command>( cd $(__cmddir) && $(__cmdstr) )</command> > </if> > > The above is just weird to me, knowing enough about XML myself. I think > bakefile is parsing the "cond" parameter itself. right. That's documented and basically one of the only two things to know about <if>s. It's not weird to me. It's clear. In C++ you'd write: if (FORMAT=='msvc' or FORMAT=='mingw' or FORMAT=='gnu' or FORMAT=='autoconf') { command( cd $(__cmddir) && $(__cmdstr) ); } is it so different ? And I think it's much better than CMake which forces you to repeat the condition in the closing token of the IF. Much more redundant. >> And that's what OSS all about after all: competition and creation of new >> projects in general, stimulates the diffusion, creation and ehancements >> of new ideas and innovation. > > Yes, but it is also confusing to choose ;-) I'm convinced chaos is part of Open Source. That's the drawback ;) Francesco ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Wxart2d-users_dev mailing list Wxart2d-users_dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxart2d-users_dev