BUG: ABSOLUTE option should evaluate relative paths with respect to CMAKE_CURRENT_SOURCE_DIR. This addresses bug#2797.

This commit is contained in:
Brad King 2006-01-31 10:46:29 -05:00
parent bfa972a2f9
commit 0dbe4edcfc
1 changed files with 14 additions and 0 deletions

View File

@ -75,6 +75,20 @@ bool cmGetFilenameComponentCommand::InitialPass(std::vector<std::string> const&
}
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());
}
else