On Sat, Nov 29, 2008 at 3:52 PM, Mike Arthur <span dir="ltr">&lt;<a href="mailto:mike@mikearthur.co.uk">mike@mikearthur.co.uk</a>&gt;</span> wrote:<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The typical way this is handled in both CMake and generally is that you rely<br>
on the builder of your sourcecode to have the dependencies already installed<br>
and then use Find* modules to determine if the libraries are installed and<br>
either block the build or adjust the options depending on what the user has<br>
installed. Having your build system build the other libraries or (even worse)<br>
having copies of them in your source tree is not a good idea as you need to<br>
keep up to date with their buildsystem and also apply any security fixes or<br>
whatever to your local version of the application.</blockquote></div><br>I generally like keeping libraries in version control because it makes
it convenient to start working from a fresh checkout. This is really
only an issue with Windows, since most linux distributions have a
package management system that makes it trivial to install third party
library dependencies. On Windows, it&#39;s quite a pain to visit various
websites and downloads the limitless number of dependencies. If you
flatten the dependency tree, you&#39;ll probably end up downloading 10 or
more different libraries, each of which is pretty difficult to build on
Windows. A developer on windows could be looking at a couple of hours
before the project is ready to compile. Am I looking at this the wrong
way, or is this just the reality all Windows developers have to face?<br>
<br>
Thanks again for all the help guys.<br>