Zitat von Michael Wild <them...@gmail.com>:
On 11. Dec, 2009, at 14:27 , Marcel Loose wrote:
I was browsing the CMake sources for a problem I was facing with the
creation of symlinks (on Unix that is) and I noticed that the
SystemTools::CreateSymlink function simply returns false when building
on a Windows platform.

Does that mean that I cannot use 'cmake -E create_symlink' on Windows.
If that's the case I consider it a bug, because the documentation
suggests that 'cmake -E create_symlink' provides a platform independent
way of creating symbolic links. So, if the OS and/or filesystem does not
support symbolic links, IMHO, it should just copy the file.

Simply copying the file might be just as bad if people assume it really IS a symlink... IMHO, if the OS can't create a symlink, cmake -E create_symlink should fail loudly, not just silently ignore it. And somebody should implement this function for Windows >= Vista/2008 (i.e. WINVER >= 0x0600):

http://msdn.microsoft.com/en-us/library/aa363866(VS.85).aspx

For this, also see
  http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Please note the UAC dialog when creating symlink on Vista. Have fun, I'd say :-(

And what do you do on WindowsXP? What to do on FAT filesystems?
Additionally, without that extension above, it is non-obvious for Windows users that a specific file is a symbolic link.

HS


_______________________________________________
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