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@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~elementary-dev-community
More help : https://help.launchpad.net/ListHelp