MantisBT - CMake
View Issue Details
0002036CMakeCMakepublic2005-07-11 09:362008-10-08 09:56
Brad King 
Brad King 
normalfeaturealways
closedsuspended 
 
 
0002036: Relative path interpretation of command arguments
Currently very few commands properly interpret relative paths given to their arguments. We need to define a consistent translation mechanism. Commands should document for each argument whether a relative path will be interpreted relative to the source or binary tree location. Then the command should implement translation of the argument through a single mechanism like m_Makefile->GetFullPathFromSourceDir(...) or m_Makefile->GetFullPathFromBinaryDir(...).

One example is CONFIGURE_FILE which should interpret its first argument relative to the source tree and its second argument relative to the binary tree.
No tags attached.
Issue History
2008-10-08 09:17Bill HoffmanAssigned ToBill Hoffman => Brad King
2008-10-08 09:56Brad KingStatusassigned => closed
2008-10-08 09:56Brad KingNote Added: 0013765

Notes
(0004764)
Alex Neundorf   
2006-08-27 10:48   
I think this is implemented since at least cmake 2.4.2. Ok to close ?
(0004789)
Brad King   
2006-08-29 09:14   
It is still fixed only on a per-command basis: it may happen to be fixed for all commands right now but there is no way to stop new commands from doing it wrong accidentally. I created this bug report to remind us in the future to pass all command arguments that are paths through a central translation mechanism. No such mechanism has yet been created.
(0006498)
Bill Hoffman   
2007-02-20 17:05   
Is this fixed now?
(0006503)
Brad King   
2007-02-21 09:33   
No. There is centralized conversion of paths in the generators, but not in the command argument parsing. Basically in order to fix it we would have to write a command argument processing framework with types and all.
(0013765)
Brad King   
2008-10-08 09:56   
In CMake 2.6 all commands deal with relative path arguments as expected. I no longer think a centralized mechanism is required to maintain this.