I've just checked my C:/Windows/SysWOW64 directory and it does not contain
a driver_root directory.  It would have been a good catch if that was the
cause.

On 27 September 2012 19:20, Andreas Schenk
<[email protected]>wrote:

>  I had the same problem recently. Do you have a *driver_root* directory in* 
> **C:/Windows/SysWOW64*?
> 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
>
>
> > 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'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.
> >
> > --
> > Glenn
> >
> >
> >
> >On 3 September 2012 09:58, Adolfo Rodríguez Tsouroukdissian 
> ><>adolfo.rodriguez at pal-robotics.com 
> ><http://www.cmake.org/mailman/listinfo/cmake>> wrote:
> >
> >>**>>**>>* On Tue, Aug 28, 2012 at 6:59 PM, Glenn Coombs <glenn.coombs at 
> >>gmail.com <http://www.cmake.org/mailman/listinfo/cmake>>wrote:*>>**>>>* I 
> >>need to test for the presence of a directory called driver_root.  I*>>>* 
> >>couldn't see a find_directory() command in the help*>>**>>**>>* 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:*>>**>*> 
> >>http://cmake.org/cmake/help/v2.8.8/cmake.html#command:find_path*>>**>>* 
> >>Cheers,*>>**>>* Adolfo.*>>**>>**>>>* so I am using the following lines in 
> >>my CMakeLists.txt:*>>>**>>>*     message("1 DRV_ROOT_CHECK: 
> >>${DRV_ROOT_CHECK}")*>>>*     if (DEFINED ENV{DRV_ROOT})*>>>*         
> >>find_file(DRV_ROOT_CHECK driver_root $ENV{DRV_ROOT}/..)*>>>*     message("2 
> >>DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")*>>>*     endif()*>>>**>>>*     
> >>message("3 DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")*>>>*     
> >>find_file(DRV_ROOT_CHECK driver_root*>>>*         ../CVSFILES*>>>*         
> >>../..*>>>*         ../../CVSFILES*>>>*         ../../..*>>>*         
> >>../../../CVSFILES*>>>*         ../../../..*>>>*     )*>>>*     message("4 
> >>DRV_ROOT_CHECK: ${DRV_ROOT_CHECK}")*>>>**>>>*     set(DRV_ROOT       
> >>"${DRV_ROOT_CHECK}" CACHE PATH     "Location of*>>>* driver tree")*>>>*     
> >>set(DRV_ROOT_CHECK "${DRV_ROOT_CHECK}" CACHE INTERNAL "Location of*>>>* 
> >>driver tree")*>>>**>>>*     message("5 DRV_ROOT_CHECK: 
> >>${DRV_ROOT_CHECK}")*>>>**>>>*     if (DRV_ROOT_CHECK)*>>>*         
> >>message("   DRV_ROOT: ${DRV_ROOT}")*>>>*     else()*>>>*         
> >>message(FATAL_ERROR "Unable to locate driver_root directory.*>>>* Please 
> >>set DRV_ROOT variable.")*>>>*     endif()*>>>**>>>* 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:*>>>**>>>* 1 DRV_ROOT_CHECK:*>>>* 3 
> >>DRV_ROOT_CHECK:*>>>* 4 DRV_ROOT_CHECK: 
> >>C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root*>>>* 5 
> >>DRV_ROOT_CHECK: C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root*>>>* 
> >>   DRV_ROOT: 
> >>C:/data/perforceCheckouts/sim/vxe/CVSFILES/driver_root*>>>**>>>* but on the 
> >>build machine it produces this output:*>>>**>>>* 1 DRV_ROOT_CHECK:*>>>* 3 
> >>DRV_ROOT_CHECK:*>>>* 4 DRV_ROOT_CHECK: C:/Windows/System32/driver_root*>>>* 
> >>5 DRV_ROOT_CHECK: C:/Windows/System32/driver_root*>>>**>>>* There is no 
> >>file or directory called driver_root in the windows/systsem32*>>>* folder.  
> >>If I change the find_file() command to this:*>>>**>>>* 
> >>find_file(DRV_ROOT_CHECK driver_root PATHS*>>>*         ../CVSFILES*>>>*    
> >>     ../..*>>>*         ../../CVSFILES*>>>*         ../../..*>>>*         
> >>../../../CVSFILES*>>>*         ../../../..*>>>*         
> >>NO_DEFAULT_PATH*>>>*     )*>>>**>>>* then it works producing this 
> >>output:*>>>**>>>* 1 DRV_ROOT_CHECK:*>>>* 3 DRV_ROOT_CHECK:*>>>* 4 
> >>DRV_ROOT_CHECK: C:/glenn/CVSFILES/driver_root*>>>* 5 DRV_ROOT_CHECK: 
> >>C:/glenn/CVSFILES/driver_root*>>>**>>>* Is this a bug in cmake or can 
> >>somebody explain how it found a*>>>* non-existant file/folder in the 
> >>windows/system32 folder ?*>>>**>>>* --*>>>* Glenn*>>>**>>>**>>>* 
> >>--*>>>**>>>* Powered by www.kitware.com*>>>**>>>* Visit other Kitware 
> >>open-source projects at*>>>* 
> >>http://www.kitware.com/opensource/opensource.html*>>>**>>>* Please keep 
> >>messages on-topic and check the CMake FAQ at:*>>>* 
> >>http://www.cmake.org/Wiki/CMake_FAQ*>>>**>>>* Follow this link to 
> >>subscribe/unsubscribe:*>>>* 
> >>http://www.cmake.org/mailman/listinfo/cmake*>>>**>>**>>**>>**>*> --*>*> 
> >>Adolfo Rodríguez Tsouroukdissian*>*> Robotics engineer*>*> adolfo.rodriguez 
> >>at pal-robotics.com <http://www.cmake.org/mailman/listinfo/cmake>*>*> 
> >>http://www.pal-robotics.com*>>**>*> PAL ROBOTICS S.L*>*> c/ Pujades 77-79, 
> >>4º4ª*>*> 08005 Barcelona, Spain.*>*> Tel.  +34.93.414.53.47 *>*> 
> >>Fax.+34.93.209.11.09*>>**>*> 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.*>>**>*> 
> >>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.*
>
>
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to