<div class="gmail_quote">On Sun, Sep 27, 2009 at 4:50 AM, SF Markus Elfring <span dir="ltr"><<a href="mailto:elfring@users.sourceforge.net">elfring@users.sourceforge.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">> If you're asking if the module should find "svn.exe" if all you need<br>
> is the subversion libraries, the answer is it doesn't have to. Once<br>
> COMPONENTS have been specified the module can require the user<br>
> specify one to find executables as well. FindImageMagick is a good<br>
> example of this. It maintains backwards compatibility if COMPONENTS<br>
> is not specified but otherwise requires each component that is to be<br>
> searched for to be explicitly named regardless of it it is a program<br>
> or a library.<br>
<br>
</div>Thanks for your explanation.<br>
<br>
Can it be avoided to copy and paste source code from other configuration scripts into the discussed update candidate?<br>
Does a base class exist which provides the common functionality for path searching and variable setting?<br></blockquote><div><br>There are no classes in CMake script, only functions and macros. Searching for include directories and libraries is accomplished via the find_path and find_library commands, respectively. If a find modules has to call find_library more than once typically a function is employed via a foreach loop.<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
How many instructions have the available files got in common so that more configuration code can be moved into base functions?<br></blockquote><div><br>Most find modules are fairly simple but many of them have their quirks. I don't think there's a tremendous opportunity available to generalize what they do if you're asking, but it certainly is possible. The solution could also be in the form of new higher-level CMake commands.<br clear="all">
</div></div><br>-- <br>Philip Lowman<br>