Hello Brandon, thanks for your input.
> So you are the only person who ever builds your software? If other people > have to build your stuff, you're making it a PITA for them, having to > remember precisely what Qt directory to use. All this knowledge is locked > up in your head, or in your docs, which nobody wants to read for such a > trivial issue. If you ever pass the baton of maintenance on to someone > else, people are not going to thank you. :) I guess you already had the joy of taking over some maintenance scripts from anyone else? Without knowing my own "build infrastructure" I'd say: You're right, hard-coded/inflexible build scripts are a PITA. But in my case I had to weigh up flexibility against stability. I am using a set of libs, like Qt, DCMTK, etc. on every platform I'm building my software on. And I had to learn that there are subtle differences e.g. between different editions of Qt. It may be the qt-lib version 3.3.5 I need to load at runtime, but is it the open-source or the commercial edition? Since I am using the commercial edition of qt, every linux I want to build my software on almost certainly delivers the open-source-edition. The software does not even built (or runs) with the wrong edition. The other libs I'm linking against partly needed to be fixed or built in a special way. The point is: I need a trusted set of libs to link against, so flexibly looking for _any_ version/edition of a needed lib won't do. My solution was to have a fixed dir-structure that holds all needed libs and which is the same on every platform. So I only need to install this "lib-dir" on a fresh build-machine along with the build scripts and can start to build. If I remember correctly Bill Hoffman doesn't like environment variables very much. I think I have fixed the location of my needed libs for the same reason. Does that make sense to you? Can you think of a better solution? Cheers Marco _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
