|
|
@@ -1708,13 +1708,13 @@ cmSourceFile* cmMakefile::GetOrCreateSource(const char* sourceName,
|
|
|
bool generated)
|
|
|
{
|
|
|
// make it a full path first
|
|
|
- std::string path = cmSystemTools::GetFilenamePath(sourceName);
|
|
|
std::string src = sourceName;
|
|
|
- if (path.empty())
|
|
|
+ bool relative = !cmSystemTools::FileIsFullPath(sourceName);
|
|
|
+ if(relative)
|
|
|
{
|
|
|
src = this->GetCurrentDirectory();
|
|
|
src += "/";
|
|
|
- src += cmSystemTools::GetFilenameName(sourceName);
|
|
|
+ src += sourceName;
|
|
|
}
|
|
|
|
|
|
// check to see if it exists
|
|
|
@@ -1726,11 +1726,11 @@ cmSourceFile* cmMakefile::GetOrCreateSource(const char* sourceName,
|
|
|
|
|
|
// OK a source file object doesn't exist for the source
|
|
|
// maybe we made a bad call on assuming it was in the src tree
|
|
|
- if (generated && path.empty())
|
|
|
+ if (generated && relative)
|
|
|
{
|
|
|
src = this->GetCurrentOutputDirectory();
|
|
|
src += "/";
|
|
|
- src += cmSystemTools::GetFilenameName(sourceName);
|
|
|
+ src += sourceName;
|
|
|
}
|
|
|
ret = this->GetSource(src.c_str());
|
|
|
if (ret)
|
|
|
@@ -1740,7 +1740,7 @@ cmSourceFile* cmMakefile::GetOrCreateSource(const char* sourceName,
|
|
|
|
|
|
// we must create one
|
|
|
cmSourceFile file;
|
|
|
- path = cmSystemTools::GetFilenamePath(src);
|
|
|
+ std::string path = cmSystemTools::GetFilenamePath(src);
|
|
|
if(generated)
|
|
|
{
|
|
|
std::string ext = cmSystemTools::GetFilenameLastExtension(src);
|