<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <pre>I had the same problem recently. Do you have a <i>driver_root</i> directory in<i> </i><i>C:/Windows/SysWOW64</i>?
On 64-bit Windows systems the System32 directory contains the 64bit DLLs.
For 32-bit executables (like cmake for example), the WOW64 subsystem automatically redirects 
System32 directory access to SysWOW64, where the 32-bit DLLs are stored.
This has the side effect, that the path reported by find_file() doesn't correspond to 
the actual filesystem path for a file located in SysWOW64.

Cheers,
Andreas

&nbsp;
&gt; Once the driver project has converted to using cmake that is what I plan to
&gt; do - use find_path() to look for driver_root/CMakeLists.txt.  But in the
&gt; meantime I'm stuck using find_file() instead which works but it looks like
&gt; a bug that I need to specify the NO_DEFAULT_PATH option to avoid getting an
&gt; incorrect match.
&gt; 
&gt; --
&gt; Glenn
&gt; 
&gt;
&gt;
&gt;On 3 September 2012 09:58, Adolfo Rodr&iacute;guez Tsouroukdissian &lt;
<a href="http://www.cmake.org/mailman/listinfo/cmake">&gt;adolfo.rodriguez at pal-robotics.com</a>&gt; wrote:
&gt;
&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> On Tue, Aug 28, 2012 at 6:59 PM, Glenn Coombs &lt;<a href="http://www.cmake.org/mailman/listinfo/cmake">glenn.coombs at gmail.com</a>&gt;wrote:
</i>&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> I need to test for the presence of a directory called driver_root.  I
</i>&gt;&gt;&gt;<i> couldn't see a find_directory() command in the help
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> I cannot comment about your issues concerning find_file, but if you know
</i>&gt;&gt;<i> the name of a file contained in the directory you can use find_path:
</i>&gt;&gt;<i>
</i>&gt;<i>&gt; <a href="http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path">http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path</a>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> Cheers,
</i>&gt;&gt;<i>
</i>&gt;&gt;<i> Adolfo.
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> so I am using the following lines in my CMakeLists.txt:
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>     message("1 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")
</i>&gt;&gt;&gt;<i>     if (DEFINED ENV{DRV_ROOT})
</i>&gt;&gt;&gt;<i>         find_file(DRV_ROOT_CHECK driver_root $ENV{DRV_ROOT}/..)
</i>&gt;&gt;&gt;<i>     message("2 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")
</i>&gt;&gt;&gt;<i>     endif()
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>     message("3 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")
</i>&gt;&gt;&gt;<i>     find_file(DRV_ROOT_CHECK driver_root
</i>&gt;&gt;&gt;<i>         ../CVSFILES
</i>&gt;&gt;&gt;<i>         ../..
</i>&gt;&gt;&gt;<i>         ../../CVSFILES
</i>&gt;&gt;&gt;<i>         ../../..
</i>&gt;&gt;&gt;<i>         ../../../CVSFILES
</i>&gt;&gt;&gt;<i>         ../../../..
</i>&gt;&gt;&gt;<i>     )
</i>&gt;&gt;&gt;<i>     message("4 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>     set(DRV_ROOT       "${DRV_ROOT_CHECK}" CACHE PATH     "Location of
</i>&gt;&gt;&gt;<i> driver tree")
</i>&gt;&gt;&gt;<i>     set(DRV_ROOT_CHECK "${DRV_ROOT_CHECK}" CACHE INTERNAL "Location of
</i>&gt;&gt;&gt;<i> driver tree")
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>     message("5 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>     if (DRV_ROOT_CHECK)
</i>&gt;&gt;&gt;<i>         message("   DRV_ROOT: ${DRV_ROOT}")
</i>&gt;&gt;&gt;<i>     else()
</i>&gt;&gt;&gt;<i>         message(FATAL_ERROR "Unable to locate driver_root directory.
</i>&gt;&gt;&gt;<i> Please set DRV_ROOT variable.")
</i>&gt;&gt;&gt;<i>     endif()
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> It works fine on my machine but fails on one of our build machines.  Both
</i>&gt;&gt;&gt;<i> machines are Windows 7 (64-bit) and are using CMake 2.8.9.  On my machine
</i>&gt;&gt;&gt;<i> it produces this output:
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> 1 DRV_ROOT_CHECK:
</i>&gt;&gt;&gt;<i> 3 DRV_ROOT_CHECK:
</i>&gt;&gt;&gt;<i> 4 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
</i>&gt;&gt;&gt;<i> 5 DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
</i>&gt;&gt;&gt;<i>    DRV_ROOT: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> but on the build machine it produces this output:
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> 1 DRV_ROOT_CHECK:
</i>&gt;&gt;&gt;<i> 3 DRV_ROOT_CHECK:
</i>&gt;&gt;&gt;<i> 4 DRV_ROOT_CHECK: C:/Windows/System32/driver_root
</i>&gt;&gt;&gt;<i> 5 DRV_ROOT_CHECK: C:/Windows/System32/driver_root
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> There is no file or directory called driver_root in the windows/systsem32
</i>&gt;&gt;&gt;<i> folder.  If I change the find_file() command to this:
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> find_file(DRV_ROOT_CHECK driver_root PATHS
</i>&gt;&gt;&gt;<i>         ../CVSFILES
</i>&gt;&gt;&gt;<i>         ../..
</i>&gt;&gt;&gt;<i>         ../../CVSFILES
</i>&gt;&gt;&gt;<i>         ../../..
</i>&gt;&gt;&gt;<i>         ../../../CVSFILES
</i>&gt;&gt;&gt;<i>         ../../../..
</i>&gt;&gt;&gt;<i>         NO_DEFAULT_PATH
</i>&gt;&gt;&gt;<i>     )
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> then it works producing this output:
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> 1 DRV_ROOT_CHECK:
</i>&gt;&gt;&gt;<i> 3 DRV_ROOT_CHECK:
</i>&gt;&gt;&gt;<i> 4 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root
</i>&gt;&gt;&gt;<i> 5 DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Is this a bug in cmake or can somebody explain how it found a
</i>&gt;&gt;&gt;<i> non-existant file/folder in the windows/system32 folder ?
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> --
</i>&gt;&gt;&gt;<i> Glenn
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> --
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Powered by <a class="moz-txt-link-abbreviated" href="http://www.kitware.com">www.kitware.com</a>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Visit other Kitware open-source projects at
</i>&gt;&gt;&gt;<i> <a href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Please keep messages on-topic and check the CMake FAQ at:
</i>&gt;&gt;&gt;<i> <a href="http://www.cmake.org/Wiki/CMake_FAQ">http://www.cmake.org/Wiki/CMake_FAQ</a>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;&gt;<i> Follow this link to subscribe/unsubscribe:
</i>&gt;&gt;&gt;<i> <a href="http://www.cmake.org/mailman/listinfo/cmake">http://www.cmake.org/mailman/listinfo/cmake</a>
</i>&gt;&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;&gt;<i>
</i>&gt;<i>&gt; --
</i>&gt;<i>&gt; Adolfo Rodr&iacute;guez Tsouroukdissian
</i>&gt;<i>&gt; Robotics engineer
</i>&gt;<i>&gt; <a href="http://www.cmake.org/mailman/listinfo/cmake">adolfo.rodriguez at pal-robotics.com</a>
</i>&gt;<i>&gt; <a href="http://www.pal-robotics.com">http://www.pal-robotics.com</a>
</i>&gt;&gt;<i>
</i>&gt;<i>&gt; PAL ROBOTICS S.L
</i>&gt;<i>&gt; c/ Pujades 77-79, 4&ordm;4&ordf;
</i>&gt;<i>&gt; 08005 Barcelona, Spain.
</i>&gt;<i>&gt; Tel. <span skype_menu_props="{'numberToCall':'+34934145347' , 'isFreecall':false, 'isMobile':false, 'isRtl':false}" onmouseout="SkypeClick2Call.MenuInjectionHandler.hideMenu(event);" onmouseover="SkypeClick2Call.MenuInjectionHandler.showMenu(this, event);" tabindex="-1" dir="ltr" class="skype_pnh_container">&nbsp;<span dir="ltr" class="skype_pnh_highlighting_inactive_common"><span class="skype_pnh_text_span">+34.93.414.53.47</span></span>&nbsp;</span>
</i>&gt;<i>&gt; Fax.+34.93.209.11.09
</i>&gt;&gt;<i>
</i>&gt;<i>&gt; AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
</i>&gt;<i>&gt; contener informaci&oacute;n privilegiada y/o confidencial que est&aacute; dirigida
</i>&gt;<i>&gt; exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
</i>&gt;<i>&gt; destinatario indicado, o el empleado encargado de su entrega a dicha
</i>&gt;<i>&gt; persona, por favor, notif&iacute;quelo inmediatamente y remita el mensaje original
</i>&gt;<i>&gt; a la direcci&oacute;n de correo electr&oacute;nico indicada. Cualquier copia, uso o
</i>&gt;<i>&gt; distribuci&oacute;n no autorizados de esta comunicaci&oacute;n queda estrictamente
</i>&gt;<i>&gt; prohibida.
</i>&gt;&gt;<i>
</i>&gt;<i>&gt; CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
</i>&gt;<i>&gt; contain confidential information which is privileged and intended only for
</i>&gt;<i>&gt; the individual or entity to whom they are addressed.  If you are not the
</i>&gt;<i>&gt; intended recipient, you are hereby notified that any disclosure, copying,
</i>&gt;&gt;<i> distribution or use of this e-mail and/or accompanying document(s) is
</i>&gt;&gt;<i> strictly prohibited.  If you have received this e-mail in error, please
</i>&gt;&gt;<i> immediately notify the sender at the above e-mail address.</i></pre>
  </body>
</html>