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?
-
Definitely not seeing what this question has to do with C, at all.DeadMG– DeadMG2011年08月07日 00:11:58 +00:00Commented Aug 7, 2011 at 0:11
2 Answers 2
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.
-
1Hell, you could use Ant if you felt like.user7007– user70072011年08月06日 23:46:39 +00:00Commented Aug 6, 2011 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– Raphael2011年08月07日 16:19:43 +00:00Commented Aug 7, 2011 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.
-
2Why? It's clear that you don't like QMake, but why? I think your reasoning would be valuable to understand.greyfade– greyfade2011年08月07日 06:03:18 +00:00Commented Aug 7, 2011 at 6:03
-
1If I could remember, greyfade, I would tell you. That was about 8 years ago :-(Kristofer Hoch– Kristofer Hoch2011年08月08日 12:49:44 +00:00Commented Aug 8, 2011 at 12:49
-
1In that case, I submit that it's worth a revisit. :)greyfade– greyfade2011年08月08日 15:02:15 +00:00Commented Aug 8, 2011 at 15:02
-
Perhaps, but I've moved away from multiple platforms in my career. I now develop and distribute Microsoft technologies.Kristofer Hoch– Kristofer Hoch2011年08月08日 15:17:50 +00:00Commented Aug 8, 2011 at 15:17