added functionality, fixed bug if no file existed and with header files
This commit is contained in:
parent
7cde8fd0f4
commit
3b338dacaf
|
@ -49,6 +49,7 @@ void cmClassFile::SetName(const char* name, const char* dir)
|
|||
hname += ".cxx";
|
||||
if(cmSystemTools::FileExists(hname.c_str()))
|
||||
{
|
||||
m_ClassExtension = "cxx";
|
||||
m_HeaderFileOnly = false;
|
||||
m_FullPath = hname;
|
||||
return;
|
||||
|
@ -59,6 +60,7 @@ void cmClassFile::SetName(const char* name, const char* dir)
|
|||
if(cmSystemTools::FileExists(hname.c_str()))
|
||||
{
|
||||
m_HeaderFileOnly = false;
|
||||
m_ClassExtension = "c";
|
||||
m_FullPath = hname;
|
||||
return;
|
||||
}
|
||||
|
@ -67,18 +69,39 @@ void cmClassFile::SetName(const char* name, const char* dir)
|
|||
if(cmSystemTools::FileExists(hname.c_str()))
|
||||
{
|
||||
m_HeaderFileOnly = false;
|
||||
m_ClassExtension = "txx";
|
||||
m_FullPath = hname;
|
||||
return;
|
||||
}
|
||||
hname = pathname;
|
||||
hname += ".h";
|
||||
if(!cmSystemTools::FileExists(hname.c_str()))
|
||||
if(cmSystemTools::FileExists(hname.c_str()))
|
||||
{
|
||||
cmSystemTools::Error("can not find file ", hname.c_str());
|
||||
cmSystemTools::Error("Tried .txx .cxx .c for ", hname.c_str());
|
||||
m_ClassExtension = "h";
|
||||
m_FullPath = hname;
|
||||
return;
|
||||
}
|
||||
|
||||
cmSystemTools::Error("can not find file ", hname.c_str());
|
||||
cmSystemTools::Error("Tried .txx .cxx .c for ", hname.c_str());
|
||||
}
|
||||
|
||||
void cmClassFile::SetName(const char* name, const char* dir, const char *ext,
|
||||
bool hfo)
|
||||
{
|
||||
m_HeaderFileOnly = hfo;
|
||||
m_ClassName = name;
|
||||
std::string pathname = dir;
|
||||
if(pathname != "")
|
||||
{
|
||||
pathname += "/";
|
||||
}
|
||||
|
||||
pathname += m_ClassName + "." + ext;
|
||||
m_FullPath = pathname;
|
||||
m_ClassExtension = ext;
|
||||
return;
|
||||
}
|
||||
|
||||
void cmClassFile::Print()
|
||||
{
|
||||
|
|
|
@ -45,6 +45,14 @@ public:
|
|||
*/
|
||||
void SetName(const char* name, const char* dir);
|
||||
|
||||
/**
|
||||
* Set the name of the file, given the directory the file should be in. IN
|
||||
* this version the extesion is provided in the call. This is useful for
|
||||
* generated files that do not exist prior to the build.
|
||||
*/
|
||||
void SetName(const char* name, const char* dir, const char *ext,
|
||||
bool headerFileOnly);
|
||||
|
||||
/**
|
||||
* Print the structure to std::cout.
|
||||
*/
|
||||
|
@ -76,6 +84,12 @@ public:
|
|||
*/
|
||||
std::string m_ClassName;
|
||||
|
||||
/**
|
||||
* The file name associated with stripped off directory and extension.
|
||||
* (In most cases this is the name of the class.)
|
||||
*/
|
||||
std::string m_ClassExtension;
|
||||
|
||||
/**
|
||||
* The dependencies of this class are gathered here.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue