I haven't used waf yet, do you know of any good resources?
From what I've seen after a quick web search it seems to be just as
verbose as cmake or even make. The point of bake is that it is so
stupidly simple to use, and also has special support for vala.
It makes things like installing desktop files or gsettings schemas just
a matter of assigning them to a variable, while it still has support
for custom rules in the style of make, so you can also do more complex
stuff.
On Sun, Sep 15, 2013 at 1:50 AM, Daniele S. <oppifjel...@gmail.com>
wrote:
There are a lot of build system out there. This one seems cool and
clean but it's probably too bleeding edge. I suggest you to take a
look at waf. Lots of project are switching to it.
Daniele
Il giorno 15/set/2013 01:08, "Julien" <spautz.jul...@gmail.com> ha
scritto:
Hey guys,
I've lately been toying with a relatively recent build system called
bake. It was created and is maintained by Robert Ancell and you can
find the source code here: https://launchpad.net/bake.
There isn't much documentation out there, but the manual will teach
you most important
things: https://answers.launchpad.net/bake/+faq/2172
$ bzr branch lp:bake
$ cd bake
$ yelp help
So if you're like me and have no idea about cmake, bake might be the
perfect alternative. It is very simple and requires practically no
boiler code (unlike cmake). It would also be easier for new
developers to set up their own projects.
I'm pretty sure you want to see some actual implementation, so here
it is:
https://code.launchpad.net/~julien-spautz/cable/bake
If you look at the diffs
(http://bazaar.launchpad.net/~julien-spautz/cable/bake/revision/137) you'll
see that I added a few Recipe files, containing all the information
bake needs, and at the same time got rid of all that cmake ugliness.
Since Cable uses the same cmake template as the official elementary
apps, this should work just as well with any other elementary app.
If you want to try it yourself, here are some instructions:
First install bake:
$ sudo add-apt-repository ppa:bake-team/releases
$ sudo apt-get update
$ sudo apt-get install bake
Now get my branch:
$ bzr branch lp:~julien-spautz/cable/bake
$ cd bake
So far so good. Now let's build (make sure you have all the deps,
you'll find them in /src/Recipe):
$ bake
There should now be an executable in src/ and one in tests/.
How about cleaning up again?
$ bake clean
Installing?
$ sudo bake install
Running unit tests? (I know you all enjoy those TDD threads)
$ bake test
Creating a .deb package?
$ bake release-deb (might take a while)
If you're not in love yet I really don't know...
I'll try to convert some other elementary apps to bake in the
future, but I don't think it'll be very difficult. The biggest
downside of bake is of course that it is still relatively new and
therefore lacks complete documentation and tutorials and probably
still has some important bugs. Otherwise I see no reason not to
switch at some point in the future, be it for Isis, or Isis + 1 (but
not later, srsly).
What are your opinions? Has anyone else had any experience with it?
--
Julien Spautz
--
Mailing list: https://launchpad.net/~elementary-dev-community
Post to : elementary-dev-community@lists.launchpad.net
Unsubscribe : https://launchpad.net/~elementary-dev-community
More help : https://help.launchpad.net/ListHelp
--
Mailing list: https://launchpad.net/~elementary-dev-community
Post to : elementary-dev-community@lists.launchpad.net
Unsubscribe : https://launchpad.net/~elementary-dev-community
More help : https://help.launchpad.net/ListHelp