I actually used to use python for all my build scripts… but I
started time tracking and was horrified at the amount of time devoted
to ‘fixed build’ and ‘fixed build script on XXX again’ tasks I gave it
up completely and started looking for new tools.
Have you used / heard of ninja?
http://martine.github.com/ninja/manual.html
I had never heard of this; it’s a nifty tool for building large
projects and handling incremental builds… but I doubt I’d ever have
the time or patience to learn how to use it. Now, though?
cmake …/proj -G "Eclipse CDT4 - Ninja"
make
BAM. done, using ninja now. Xcode support?
cmake …/proj -G Xcode
make
Visual studio?
cmake …/proj -G "Visual Studio 10"
make
You get these synergies when you build on the tools that other people
are using to do new things with.
Raw makefiles, custom build scripts and autotools are not things that
you get these benefits from (for whatever reason).
I’m … not exactly sure what point you were making there, but I read
it as: Try new things! …and I totally agree with that; there are
people doing interesting and useful things out there in the
compiler-program-space, and sticking with old school technologies that
simply because they already exist isn’t the answer.~
Doug.
On Mon, Aug 20, 2012 at 6:42 PM, Christian Leger <chrism.leger at gmail.com> wrote:
I completely agree that maintainability is important, and at my previous
employer that boiled down to ‘out of our 30 guys in the programming team,
having the one guy who knows more than a trivial amount about our build
system is better than zero guys’ … and nobody seemed concerned about the
long-term importance of having regular coders be able to jump into and
modify the system. It was definitely a case of preferring to think we’re
saving money by not overhauling our system (migrating to CMake, or waf, or
something else entirely) yet paying a non-trivial cost every time we needed
something new out of the ol’ pile of makefiles.While no doubt it would be illuminating (yet be a digression meant for some
other forum) if I requested supporting evidence for claims like ‘procedural
languages are a bad fit for X’ - I suspect the real reason for such belief
is that people are easily tempted to think a problem is ‘solved’ if
so-called mature projects have been the de-facto go-to solution for long
enough. Solved? Maybe, with reservations. The best we can do – and for all
criteria? I doubt it.I think maintainability of any system is as dependent on its underlying
design as it is on any special property of Make. While prolog-style logic
can prove adequate for certain problems, that in no way justifies all the
hurdles one encounters when trying to use Make.When you’ve taken the time to learn something, especially something arcane
that makes you valuable to those who don’t share that knowledge, it’s
understandable that you don’t want this niche you’ve carved for yourself to
evaporate into nothing. But our technologies are in many ways still in their
infancy. Look at the number of people who are still actively trying to solve
this ‘solved’ problem (and this number seems to be growing over time). I
think that’s a strong indicator that there is progress yet to be made, and
this kind of conversation - making suggestions, even trying things (which I
intend to do in the medium term) and seeing what sticks - is to the benefit
of all interested parties.I make several of my points because I’m an unabashed optimistic futurist,
and while I dream of improving everything I can, and try when I see
opportunities, I certainly don’t dare take away anybody’s right to continue
with what works for them. I’m simply VERY interested in constructive
discussions which might, at some point, lead to build systems that seem more
natural to those of us that have struggled with make, yet can imagine in
their very own heads a system that would work for their current needs.Of course, in the case of SDL, if existing tools are unanimously judged to
be (or according to the people who decide) unimprovable, then they will stay
right where they are.Regards,
Christian
On Mon, Aug 20, 2012 at 3:32 AM, Jared Maddox wrote:
Date: Sun, 19 Aug 2012 15:06:41 -0400
From: Christian Leger <chrism.leger at gmail.com>
To: SDL Development List
Subject: Re: [SDL] SDL2 Moving to CMake?
Message-ID:<CAHgimD9H8fPMj7QR4XnY=1-AEfUDpW7s89__WqVaxyYqSw3Ebw at mail.gmail.com>
Content-Type: text/plain; charset=“iso-8859-1”<snip, synopsis: I find Make and CMake painful, and recommend Python>
I disagree. Make is (or at least started as) a logic language (like
Prolog), and having used it for a few projects, my only quibble is
that it isn’t a more generalized language. I consider procedural
languages (such as Python) to be a bad fit to what Make is used for,
because of the particular way that they’re explicit (e.g. you specify
the order of execution). If I had to use another language, I would use
either something make-ish, or shell scripts, NOT python.As for CMake, I’ve never written code for it, so I just don’t know.
SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org