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