[CMake] No FileIsSymlink(...) for Win32?
Pau Garcia i Quiles
pgquiles at elpauer.org
Wed Nov 14 18:40:26 EST 2007
Quoting Gonzalo Garramuño <ggarra at advancedsl.com.ar>:
> Miguel A. Figueroa-Villanueva wrote:
>>
>> Isn't there a way to detect the shortcut in win32 and not create the
>> directory if it exists? Something equivalent to:
>>
>
> The short answer is that no. Shortcuts are basically a property of the
> Windows GUI environment, not of the file system. As such, all
> command-line tools in windows don't respect them. cmake, being a
> command-line tool, should behave like other command-line tools.
>
> A Windows shortcut is a really a text file with a .lnk extension. As
> such, it is different from an actual directory with the same name.
>
> Shortcuts are not really symbolic links at all. Windows to this day
> does not have symbolic links as Unix does, so it would be incorrect to
> use any of those functions to work with shortcuts.
>
> You may, however, want to request a function to parse shortcuts, albeit
> you can probably write it in .cmake yourself (as it a .lnk file is just
> a text file).
I disagree.
Windows 2000 Server, XP and 2003 Server, at least, include a linkd.exe
utility which creates actual symlinks. It only works on NTFS
filesystems, AFAIK, but it works well. Active Directory relies uses
linkd'd directories in several places (for instance, SYSVOL and
SYSVOL/domain).
That's what I'd like to implement next week in the Eclipse generator
for it to allow more than one out-of-tree build and no pollution in
the source tree.
--
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
More information about the CMake
mailing list