summaryrefslogtreecommitdiffstats
path: root/Source/cmSourceFile.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmSourceFile.cxx')
-rw-r--r--Source/cmSourceFile.cxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx
index 6fac024..8da72c3 100644
--- a/Source/cmSourceFile.cxx
+++ b/Source/cmSourceFile.cxx
@@ -29,6 +29,7 @@ void cmSourceFile::SetName(const char* name, const char* dir,
{
this->SetProperty("HEADER_FILE_ONLY","1");
+ m_SourceNameWithoutLastExtension = "";
m_SourceName = name;
@@ -142,6 +143,7 @@ void cmSourceFile::SetName(const char* name, const char* dir, const char *ext,
bool hfo)
{
this->SetProperty("HEADER_FILE_ONLY",(hfo ? "1" : "0"));
+ m_SourceNameWithoutLastExtension = "";
m_SourceName = name;
std::string pathname = dir;
if(pathname != "")
@@ -210,3 +212,12 @@ void cmSourceFile::SetCustomCommand(cmCustomCommand* cc)
}
m_CustomCommand = cc;
}
+
+const std::string& cmSourceFile::GetSourceNameWithoutLastExtension()
+{
+ if ( m_SourceNameWithoutLastExtension.empty() )
+ {
+ m_SourceNameWithoutLastExtension = cmSystemTools::GetFilenameWithoutLastExtension(m_FullPath);
+ }
+ return m_SourceNameWithoutLastExtension;
+}