On 9/13/07, Juan Sanchez <[EMAIL PROTECTED]> wrote:
> Hello Brandon,
>
> This is the way they are choosing to do this in our organization.  We
> only build for gcc on Linux.  If we built for multiple platforms, we
> could have platform specific conditional statements, as in the
> hyperlinked example I have provided.
>
> In deference to elegance, the project will now compile in half the time.

So what?  You did it in a GCC specific way, which doesn't help most
CMake users, who usually have to target more than 1 compiler.  If you
just extract the locations of the generated object files, it works
cross-platform on any compiler.  This of course requires knowledge of
CMake internals, but that's not any more of a hack than what you
propose to put in the FAQ.  Hence my feature request #5155, "standard
way to locate object files."
http://www.cmake.org/Bug/view.php?id=5155

> The statement in the FAQ is untrue:
>
> >> That means I have to build all my library objects twice, once for shared
> >> and once for static. I don't like that!
>
> This statement may also be a dealbreaker for those maintaining huge
> projects.

You know, if you're as huge as AMD, you've got the bucks to find
workarounds.  You could even pay Kitware to implement something
better.  The vast majority of CMake developers should be doing
whatever works reliably.

> If we choose to use the exact same flags, why shouldn't we be able to
> choose to create the shared library from the archive?

Seems to me you've figured this all out for AMD's specific needs and
you're ready to write the whitepaper on it for your peers.  I'm
currently working on a 400MB source tree for a client.  At that scale
of code there's *tons* of stuff you're going to have to inevitably do
yourself.  For instance I'm writing a GMake --> CMake translator in
CMake script, because it's worth it for the scale of the project.
Don't look to FAQs to solve issues of basic political will.  Even if
we document our different hacks, they're still hacks, and they still
say that CMake is presently less than elegant about this problem.  The
ammo for dealbreakership is still there.  You have to convince people
to concentrate on big picture issues, like whether you were able to go
to the mailing list and find a solution, rather than little issues.

> If you have something in the FAQ, shouldn't it provide the option for
> people who are concerned with the inefficiency of compiling object files
> twice?

My philosophy is that FAQs are for FREQUENTLY asked questions, not
every possible question.  But if you really must hit one out of the
park for the GCC users, please put it in a separate FAQ entry after
the stuff that's already there.  With a heading like, "I'm only ever
going to use GCC or Linux, is there another way?"  I could put my own
method documented in feature request #5515, with a heading like "I'm
willing to risk changes in CMake breaking my code if it works now.  Is
there another way?"


Cheers,
Brandon Van Every
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to