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";
|
hname += ".cxx";
|
||||||
if(cmSystemTools::FileExists(hname.c_str()))
|
if(cmSystemTools::FileExists(hname.c_str()))
|
||||||
{
|
{
|
||||||
|
m_ClassExtension = "cxx";
|
||||||
m_HeaderFileOnly = false;
|
m_HeaderFileOnly = false;
|
||||||
m_FullPath = hname;
|
m_FullPath = hname;
|
||||||
return;
|
return;
|
||||||
|
@ -59,6 +60,7 @@ void cmClassFile::SetName(const char* name, const char* dir)
|
||||||
if(cmSystemTools::FileExists(hname.c_str()))
|
if(cmSystemTools::FileExists(hname.c_str()))
|
||||||
{
|
{
|
||||||
m_HeaderFileOnly = false;
|
m_HeaderFileOnly = false;
|
||||||
|
m_ClassExtension = "c";
|
||||||
m_FullPath = hname;
|
m_FullPath = hname;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -67,18 +69,39 @@ void cmClassFile::SetName(const char* name, const char* dir)
|
||||||
if(cmSystemTools::FileExists(hname.c_str()))
|
if(cmSystemTools::FileExists(hname.c_str()))
|
||||||
{
|
{
|
||||||
m_HeaderFileOnly = false;
|
m_HeaderFileOnly = false;
|
||||||
|
m_ClassExtension = "txx";
|
||||||
m_FullPath = hname;
|
m_FullPath = hname;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
hname = pathname;
|
hname = pathname;
|
||||||
hname += ".h";
|
hname += ".h";
|
||||||
if(!cmSystemTools::FileExists(hname.c_str()))
|
if(cmSystemTools::FileExists(hname.c_str()))
|
||||||
{
|
{
|
||||||
cmSystemTools::Error("can not find file ", hname.c_str());
|
m_ClassExtension = "h";
|
||||||
cmSystemTools::Error("Tried .txx .cxx .c for ", hname.c_str());
|
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()
|
void cmClassFile::Print()
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,6 +45,14 @@ public:
|
||||||
*/
|
*/
|
||||||
void SetName(const char* name, const char* dir);
|
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.
|
* Print the structure to std::cout.
|
||||||
*/
|
*/
|
||||||
|
@ -76,6 +84,12 @@ public:
|
||||||
*/
|
*/
|
||||||
std::string m_ClassName;
|
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.
|
* The dependencies of this class are gathered here.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue