diff options
-rw-r--r-- | Source/cmMakefile.cxx | 14 | ||||
-rw-r--r-- | Source/cmSourceFile.h | 1 |
2 files changed, 12 insertions, 3 deletions
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 8506de9..4841584 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1209,6 +1209,12 @@ cmMakefile::FindSourceGroup(const char* source, bool cmMakefile::IsFunctionBlocked(const char *name, std::vector<std::string> const&args) { + // if there are no blockers get out of here + if (m_FunctionBlockers.begin() == m_FunctionBlockers.end()) + { + return false; + } + // loop over all function blockers to see if any block this command std::set<cmFunctionBlocker *>::const_iterator pos; std::vector<std::string> expandedArguments = args; @@ -1334,10 +1340,12 @@ cmSourceFile* cmMakefile::GetSource(const char* sourceName) const for(std::vector<cmSourceFile*>::const_iterator i = m_SourceFiles.begin(); i != m_SourceFiles.end(); ++i) { - if((*i)->GetSourceName() == s - && (ext.size() == 0 || (ext == (*i)->GetSourceExtension()))) + if ((*i)->GetSourceNameReference() == s) { - return *i; + if ((ext.size() == 0 || (ext == (*i)->GetSourceExtension()))) + { + return *i; + } } } return 0; diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h index 0f975c0..3e41eaa 100644 --- a/Source/cmSourceFile.h +++ b/Source/cmSourceFile.h @@ -92,6 +92,7 @@ public: * (In most cases this is the name of the class.) */ std::string GetSourceName() const {return m_SourceName;} + const std::string &GetSourceNameReference() const {return m_SourceName;} void SetSourceName(const char *name) {m_SourceName = name;} /** |