Zitat von Michael Wild <them...@gmail.com>:
On 11. Dec, 2009, at 15:17 , Hendrik Sattler wrote:
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.
The UAC-thing only applies to directories where the user has no
write-acces (including the admin), right? So if you're half-way
sane, and build in a user-owned directory, you should be UAC-free...
To cite from that page:
Vista and UAC
One of the major Vista changes was the so called User Account Control
(UAC). Due to UAC some API calls need elevation to administrative
level, and this elevation must be acknowledged via the below shown
dialog box. Unfortunately, and I still can't believe this, the API
call CreateSymbolicLink is a call, which needs elevation, and thus
causes this annoying dialog box come up every time a symbolic link is
created.
So, no, every time, even on own directories. I don't currently use
Vista or Windows7, though. Also read the rest of that part of the
page: cmake should not use functions directly that need elevation.
HS
PS: added list back
_______________________________________________
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