[cmake-developers] [CMake 0013162]: create_symlink command portability

Mantis Bug Tracker mantis at public.kitware.com
Tue Aug 14 11:22:47 EDT 2012


The following issue is now in status NEW (again) 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=13162 
====================================================================== 
Reported By:                Dave Abrahams
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   13162
Category:                   CMake
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     new
Target Version:             CMake 2.8.10
====================================================================== 
Date Submitted:             2012-04-24 01:22 EDT
Last Modified:              2012-08-14 11:22 EDT
====================================================================== 
Summary:                    create_symlink command portability
Description: 
This command could be made to work on many-many Windows systems these days. 
Bonus: if symlinking not available, copy files instead.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0012376 Add symlink support
has duplicate       0012986 Portable directory symlinking with -E
====================================================================== 

---------------------------------------------------------------------- 
 (0029320) Brad King (manager) - 2012-04-24 08:51
 http://www.cmake.org/Bug/view.php?id=13162#c29320 
---------------------------------------------------------------------- 
Comment http://www.cmake.org/Bug/view.php?id=12986#c28671 is relevant here too. 
An implementation would need to detect if the symlink can be created without
user/manual intervention and if not do something else.  IMO silently copying
instead of linking is not a general solution.  It is only "right" in particular
use cases. 

---------------------------------------------------------------------- 
 (0029341) Eric NOULARD (developer) - 2012-04-25 10:04
 http://www.cmake.org/Bug/view.php?id=13162#c29341 
---------------------------------------------------------------------- 
Then may be we "just" need two -E commands:

create_symlink_or_copy old new
   this one would create a symlink or make a copy as a fallback
   this one should have the same fail cases as "copy".

create_symlink old new
   this one would create a symlink if possible (without user intervention)
   or fail if 
      - user intervention is needed
      - symlink is not supported.

Probably that some built-in CMAKE_CAN_SYMLINK variable could be defined
in order to make it possible to programmatically check whether if symlink
is supported on the current platform.

May be a useful link:
http://msdn.microsoft.com/en-us/library/aa365680%28v=vs.85%29.aspx 

---------------------------------------------------------------------- 
 (0030412) David Cole (manager) - 2012-08-11 21:35
 http://www.cmake.org/Bug/view.php?id=13162#c30412 
---------------------------------------------------------------------- 
Sending old, never assigned issues to the backlog.

(The age of the bug, plus the fact that it's never been assigned to anyone means
that nobody is actively working on it...)

If an issue you care about is sent to the backlog when you feel it should have
been addressed in a different manner, please bring it up on the CMake mailing
list for discussion. Sign up for the mailing list here, if you're not already on
it: http://www.cmake.org/mailman/listinfo/cmake

It's easy to re-activate a bug here if you can find a CMake developer who has
the bandwidth to take it on, and ferry a fix through to our 'next' branch for
dashboard testing.
 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2012-04-24 01:22 Dave Abrahams  New Issue                                    
2012-04-24 08:45 Brad King      Relationship added       related to 0012376  
2012-04-24 08:48 Brad King      Relationship added       has duplicate 0012986
2012-04-24 08:51 Brad King      Note Added: 0029320                          
2012-04-25 10:04 Eric NOULARD   Note Added: 0029341                          
2012-08-11 21:35 David Cole     Status                   new => backlog      
2012-08-11 21:35 David Cole     Note Added: 0030412                          
2012-08-14 11:22 David Cole     Status                   backlog => new      
2012-08-14 11:22 David Cole     Target Version            => CMake 2.8.10    
======================================================================




More information about the cmake-developers mailing list