hugopl/devblog

06 Aug 2010

Meique released

By a release I mean, I tagged the git repository with some version number (0.8), so you still need to download the sources from git if you want to test it. I wont spend my free time to create a website nor distro packages very soon, because I think that for while is better to spend my time coding than creating cosmetic things for a tool not production ready yet.

Ah, I almost forgot to say, meique is a pet project of mine, result of my will to have a more than reasonable building tool for C and C++, a really good one. I’m doing it on my free time and hope to finish it some day, hehe.

Ok, back to the main subject, it’s not production ready… by production ready I mean, if you want to use meique in a near future the best thing to do is to try to port your project to meique and report any bugs and wishes, so bugs can be fixed and wishes turned into reality.

So, what meique can do until now?

What it can't do yet?

How to get it and report bugs/wishes?

You can get the sources on gitorious (http://gitorious.org/meique). Compilation can be done using cmake or meique itself.

To report bugs and wishes write to hugo.pl at gmail.com.

Comment
22 Apr 2010

Status report on "Save the universe" task

I’m talking about my pet project called meique, yes, this is yet another build tool.

The project is going a “bit” slow, I can summarize this situation in numbers, the project had 15 commits so far, 4 in 08/2009, 4 in 12/2009 and 7 in 04/2010. In other words, 4 commits, 4 months doing nothing, 4 commits, 4 months doing nothing, 7 commits, …

As you can see there is a pattern in meique development, every commit represents 1 month doing nothing! But this isn’t my fault, ok.. is my fault, anyway I want to break this pattern, no… no… I’m going to break this pattern!! at least I hope so.

Besides all development slow down I achieved some goals with those 15 commits:

So what's missing and what's next?

Missing? A lot of things. My current implementation plan is:

For anyone interested on meique, take a look at gitrotious project page.

Comment
05 Dec 2009

Reinventing the wheel to save the universe!

I admit myself, I have a bit of the “Not written by me” syndrome, but I guess that this time this is not a side effect of this developer disease, it’s just because every build tool in this planet sux in a way or another, so I decided to write my own build tool, yes… the build tool of my dreams!

Before start to talk about it, I like to answer why not X? why not Y? Ok, let’s do it one by one.

Why not Autotools?

If you really like Autotools, sorry, this post isn’t for you. Bye!

Why not qMake?

qMake is useful only for Qt-based projects, and IMHO, for the simple ones. Ok, Qt is a huge project and uses qMake, but did you ever found someone spreading good words about qMake? In other words, I never use qMake for my Qt projects, I use cmake instead.

Why not SCons?

SCons is somehow a good build tool, last time I used it was two years ago, I like the SCons bootstrap methodology but I dislike the python dependence, summarizing, IMHO CMake is better.

Why not CMake?

CMake is the best build tool nowadays, simple use cases remains simple and complex use cases are possible. I use it for all my projects, so I know that it’s not perfect yet.

Why not X?

I don’t know X, so X is too new or probably not so good :-), but if X is really good, just assume that what I’m doing is a side effect of the “Not written by me” syndrome.

Why not Meique?

Yes! Meique is perfect! Is the build tool of my dreams! the holy grail!! but it does not exists yet, the current source code still not useful, I’ll push something to gitorious when it be able to compile the first Hello World.

Ok, so let’s talk about my vapor ware, first the desired features.

Meique isn’t a meta-buildsystem like CMake, i.e. it doesn’t generate files for native building tools like Makefiles, Visual Studio projects, etc. Meique itself call the compiler, take care of what should and what shouldn’t be compiled, etc. This adds a bit more complexity to the project, but open the road for useful features like:

The Meique Lua API is almost done, I just need to think easier ways to write the equivalent of CMake FindPackages, a simple Hello World could be described as:

target = Executable:new("hello")
target:addFiles("hello.cpp")

The stupid example above shows nothing, because build tools intent to be used mainly by medium/big and sometime complex projects, so I’m trying to create a good API based on my experience with CMake, qMake and SCons and why not, my personal hate against Autotools.

P.S.: If you search about Meique, probably you will find an old website at luaforge, this was my first attempt to create a build tool, the source code reflects my understanding of building tools 5 years ago, so forget about it.

Comment