BUG: ABSOLUTE option should evaluate relative paths with respect to CMAKE_CURRENT_SOURCE_DIR. This addresses bug#2797.
This commit is contained in:
parent
bfa972a2f9
commit
0dbe4edcfc
|
@ -75,6 +75,20 @@ bool cmGetFilenameComponentCommand::InitialPass(std::vector<std::string> const&
|
||||||
}
|
}
|
||||||
else if (args[2] == "ABSOLUTE")
|
else if (args[2] == "ABSOLUTE")
|
||||||
{
|
{
|
||||||
|
// If the path given is relative evaluate it relative to the
|
||||||
|
// current source directory.
|
||||||
|
if(!cmSystemTools::FileIsFullPath(filename.c_str()))
|
||||||
|
{
|
||||||
|
std::string fname = m_Makefile->GetCurrentDirectory();
|
||||||
|
if(!fname.empty())
|
||||||
|
{
|
||||||
|
fname += "/";
|
||||||
|
fname += filename;
|
||||||
|
filename = fname;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Collapse the path to its simplest form.
|
||||||
result = cmSystemTools::CollapseFullPath(filename.c_str());
|
result = cmSystemTools::CollapseFullPath(filename.c_str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue