Take the 2-minute tour ×

So, I'm planning to write a C++ library and I want it to be cross-platform, and as this library won't deal with UI and I want it to have as little dependencies as possible, I won't be using Qt (actually Qt won't really help me to achieve what I want, all I plan on using is STL and Boost). Now when it comes to build a cross-platform project, I really like QMake as it's extremely easy to use and I have experience with it. I also heard good things about CMake, though I really doubt it's as easy to use as QMake.

Anyway, here is my question: Should I stick with build automation tool that I know or is QMake just out of context for a non-Qt project? Should I take this as an opportunity to learn CMake? Or is there a better alternative to these two?

share|improve this question
Definitely not seeing what this question has to do with C, at all. –  DeadMG Aug 7 '11 at 0:11

2 Answers 2

up vote 6 down vote accepted

That choice is entirely up to you.

But I will point out that a very large number of Qt-based projects have moved away from QMake and switched to CMake, for various reasons. I will also point out that there is no technical reason that you can't use QMake if you prefer it.

Personally, I use CMake, because it quite well takes the role that autotools was once preferred for, doing so with a set of tools and a syntax that's far easier to understand and work in. But I see the appeal of using QMake - the syntax is much simpler and may perhaps be easier to understand and use than CMake.

share|improve this answer
Hell, you could use Ant if you felt like. –  Glenn Nelson Aug 6 '11 at 23:46
I've decided to give CMake a try and while it's definitely n not as easy as QMake it's not nearly as difficult as I thought it would be and it seems pretty powerful too. –  Raphael Aug 7 '11 at 16:19

I used to work for a company (Interactive Network Technologies) that created SDKs for use in Contouring, Seismic, Welllog, and GIS space. The C++ product was supported for multiple varieties of Unix, and Windows (back when you had to define NT versus other flavors)

When QT came out, it already had QMake; I was familiar with make and Ant at the time. AFter spending three days with QMake, I threw it out and simply used make.

Although make can be brainmeltingly complicated, I'd suggest using it or Ant versus QMake.

share|improve this answer
Why? It's clear that you don't like QMake, but why? I think your reasoning would be valuable to understand. –  greyfade Aug 7 '11 at 6:03
If I could remember, greyfade, I would tell you. That was about 8 years ago :-( –  Kristofer Hoch Aug 8 '11 at 12:49
In that case, I submit that it's worth a revisit. :) –  greyfade Aug 8 '11 at 15:02
Perhaps, but I've moved away from multiple platforms in my career. I now develop and distribute Microsoft technologies. –  Kristofer Hoch Aug 8 '11 at 15:17

Your Answer


