<div class="gmail_quote">On Sun, Sep 27, 2009 at 4:50 AM, SF Markus Elfring <span dir="ltr">&lt;<a href="mailto:elfring@users.sourceforge.net">elfring@users.sourceforge.net</a>&gt;</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">&gt; If you&#39;re asking if the module should find &quot;svn.exe&quot; if all you need<br>
&gt; is the subversion libraries, the answer is it doesn&#39;t have to. Once<br>
&gt; COMPONENTS have been specified the module can require the user<br>
&gt; specify one to find executables as well. FindImageMagick is a good<br>
&gt; example of this. It maintains backwards compatibility if COMPONENTS<br>
&gt; is not specified but otherwise requires each component that is to be<br>
&gt; searched for to be explicitly named regardless of it it is a program<br>
&gt; 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&#39;t think there&#39;s a tremendous opportunity available to generalize what they do if you&#39;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>