[CMake] No FileIsSymlink(...) for Win32?
Miguel A. Figueroa-Villanueva
miguelf at ieee.org
Wed Nov 14 17:08:42 EST 2007
Hello,
I have a directory structure (through cygwin) like the unices:
.../usr/local
.../usr/local/share
.../usr/local/man->share/man
The link above is not really a symlink, but a "shortcut". When I
install cmake, it creates the .../usr/local/man dir instead of placing
files in .../usr/local/share/man.
I searched through the CMake code and got all the way to the
MakeDirectory function call in file Source/kwsys/SystemTools.cxx:
bool SystemTools::MakeDirectory(const char* path)
{
...
while((pos = dir.find('/', pos)) != kwsys_stl::string::npos)
{
topdir = dir.substr(0, pos);
Mkdir(topdir.c_str());
pos++;
}
...
}
Isn't there a way to detect the shortcut in win32 and not create the
directory if it exists? Something equivalent to:
if(!SystemTools::FileIsSymlink(topdir.c_str()))
{
Mkdir(topdir.c_str());
}
Thanks,
--Miguel
More information about the CMake
mailing list