Once the driver project has converted to using cmake that is what I plan to do - use find_path() to look for driver_root/CMakeLists.txt.  But in the meantime I&#39;m stuck using find_file() instead which works but it looks like a bug that I need to specify the NO_DEFAULT_PATH option to avoid getting an incorrect match.<br>
<br>--<br>Glenn<br><br><br><div class="gmail_quote">On 3 September 2012 09:58, Adolfo Rodríguez Tsouroukdissian <span dir="ltr">&lt;<a href="mailto:adolfo.rodriguez@pal-robotics.com" target="_blank">adolfo.rodriguez@pal-robotics.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br><div class="gmail_quote"><div class="im">On Tue, Aug 28, 2012 at 6:59 PM, Glenn Coombs <span dir="ltr">&lt;<a href="mailto:glenn.coombs@gmail.com" target="_blank">glenn.coombs@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I need to test for the presence of a directory called driver_root.  I couldn&#39;t see a find_directory() command in the help</blockquote></div><div><br>I cannot comment about your issues concerning find_file, but if you know the name of a file contained in the directory you can use find_path:<br>

<br><a href="http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path" target="_blank">http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path</a><br><br>Cheers,<br><br>Adolfo.<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="h5">
 so I am using the following lines in my CMakeLists.txt:<br><br>    message(&quot;1 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}&quot;)<br>
    if (DEFINED ENV{DRV_ROOT})<br>        find_file(DRV_ROOT_CHECK driver_root $ENV{DRV_ROOT}/..)<br>    message(&quot;2 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}&quot;)<br>    endif()<br>    <br>    message(&quot;3 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}&quot;)<br>


    find_file(DRV_ROOT_CHECK driver_root <br>        ../CVSFILES<br>        ../..<br>        ../../CVSFILES<br>        ../../..<br>        ../../../CVSFILES<br>        ../../../..<br>    )<br>    message(&quot;4 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}&quot;)<br>


    <br>    set(DRV_ROOT       &quot;${DRV_ROOT_CHECK}&quot; CACHE PATH     &quot;Location of driver tree&quot;)<br>    set(DRV_ROOT_CHECK &quot;${DRV_ROOT_CHECK}&quot; CACHE INTERNAL &quot;Location of driver tree&quot;)<br>


    <br>    message(&quot;5 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}&quot;)<br>    <br>    if (DRV_ROOT_CHECK)<br>        message(&quot;   DRV_ROOT: ${DRV_ROOT}&quot;)<br>    else()<br>        message(FATAL_ERROR &quot;Unable to locate driver_root directory.  Please set DRV_ROOT variable.&quot;)<br>


    endif()<br><br>It works fine on my machine but fails on one of our build machines.  Both machines are Windows 7 (64-bit) and are using CMake 2.8.9.  On my machine it produces this output:<br><br>1 DRV_ROOT_CHECK: <br>


3 DRV_ROOT_CHECK: <br>4 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root<br>5 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root<br>   DRV_ROOT: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root<br>


<br>but on the build machine it produces this output:<br><br>1 DRV_ROOT_CHECK: <br>3 DRV_ROOT_CHECK: <br>4 DRV_ROOT_CHECK: C:/Windows/System32/driver_root<br>5 DRV_ROOT_CHECK: C:/Windows/System32/driver_root<br><br>There is no file or directory called driver_root in the windows/systsem32 folder.  If I change the find_file() command to this:<br>


<br> find_file(DRV_ROOT_CHECK driver_root PATHS<br>
        ../CVSFILES<br>
        ../..<br>
        ../../CVSFILES<br>
        ../../..<br>
        ../../../CVSFILES<br>
        ../../../..<br>        NO_DEFAULT_PATH<br>
    )<br><br>then it works producing this output:<br><br>1 DRV_ROOT_CHECK: <br>3 DRV_ROOT_CHECK: <br>4 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root<br>5 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root<br><br>Is this a bug in cmake or can somebody explain how it found a non-existant file/folder in the windows/system32 folder ?<br>


<br>--<br>Glenn<br><br>
<br></div></div>--<br>
<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br></blockquote></div><br><br clear="all"><br>-- <br>Adolfo Rodríguez Tsouroukdissian<br>Robotics engineer<br>

<a href="mailto:adolfo.rodriguez@pal-robotics.com" target="_blank">adolfo.rodriguez@pal-robotics.com</a><br><a href="http://www.pal-robotics.com/" target="_blank">http://www.pal-robotics.com</a><br><br>PAL ROBOTICS S.L<br>

c/ Pujades 77-79, 4º4ª<br>08005 Barcelona, Spain.<br>Tel. <a href="tel:%2B34.93.414.53.47" value="+34934145347" target="_blank">+34.93.414.53.47</a><br>Fax.<a href="tel:%2B34.93.209.11.09" value="+34932091109" target="_blank">+34.93.209.11.09</a><br>
<br>AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden contener información privilegiada y/o confidencial que está dirigida exclusivamente a su destinatario. Si usted recibe este mensaje y no es el destinatario indicado, o el empleado encargado de su entrega a dicha persona, por favor, notifíquelo inmediatamente y remita el mensaje original a la dirección de correo electrónico indicada. Cualquier copia, uso o distribución no autorizados de esta comunicación queda estrictamente prohibida.<span style="border-collapse:collapse;font-size:13px"><span style="border-collapse:collapse;font-size:13px"><span style="font-size:13px"><tt><font face="&#39;times new roman&#39;, serif"><font color="#333333"><br>

<br></font></font></tt></span></span></span>CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may contain confidential information which is privileged and intended only for the individual or entity to whom they are addressed.  If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of this e-mail and/or accompanying document(s) is strictly prohibited.  If you have received this e-mail in error, please immediately notify the sender at the above e-mail address.<br>


</blockquote></div><br>