[cmake-commits] king committed cmGlobalUnixMakefileGenerator3.cxx
1.109 1.110 cmGlobalUnixMakefileGenerator3.h 1.44 1.45
cmake-commits at cmake.org
cmake-commits at cmake.org
Thu Aug 2 14:23:48 EDT 2007
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv12535
Modified Files:
cmGlobalUnixMakefileGenerator3.cxx
cmGlobalUnixMakefileGenerator3.h
Log Message:
ENH: Added cmTarget::GetLanguages method to centralize computation of the list of languages compiled in a target.
Index: cmGlobalUnixMakefileGenerator3.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalUnixMakefileGenerator3.cxx,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- cmGlobalUnixMakefileGenerator3.cxx 28 Jun 2007 13:09:26 -0000 1.109
+++ cmGlobalUnixMakefileGenerator3.cxx 2 Aug 2007 18:23:46 -0000 1.110
@@ -731,8 +731,7 @@
makefileName = localName;
makefileName += "/build.make";
- bool needRequiresStep =
- this->NeedRequiresStep(lg,t->second.GetName());
+ bool needRequiresStep = this->NeedRequiresStep(t->second);
lg->WriteDivider(ruleFileStream);
ruleFileStream
@@ -851,7 +850,7 @@
t->second.GetName(), depends, commands, true);
// Add rules to prepare the target for installation.
- if(t->second.NeedRelinkBeforeInstall())
+ if(!exclude && t->second.NeedRelinkBeforeInstall())
{
localName = lg->GetRelativeTargetDirectory(t->second);
localName += "/preinstall";
@@ -1168,18 +1167,17 @@
bool cmGlobalUnixMakefileGenerator3
-::NeedRequiresStep(cmLocalUnixMakefileGenerator3 *lg,const char *name)
+::NeedRequiresStep(cmTarget const& target)
{
- std::map<cmStdString,cmLocalUnixMakefileGenerator3::IntegrityCheckSet>&
- checkSet = lg->GetIntegrityCheckSet()[name];
- for(std::map<cmStdString,
- cmLocalUnixMakefileGenerator3::IntegrityCheckSet>::const_iterator
- l = checkSet.begin(); l != checkSet.end(); ++l)
+ std::set<cmStdString> languages;
+ target.GetLanguages(languages);
+ for(std::set<cmStdString>::const_iterator l = languages.begin();
+ l != languages.end(); ++l)
{
- std::string name2 = "CMAKE_NEEDS_REQUIRES_STEP_";
- name2 += l->first;
- name2 += "_FLAG";
- if(lg->GetMakefile()->GetDefinition(name2.c_str()))
+ std::string var = "CMAKE_NEEDS_REQUIRES_STEP_";
+ var += *l;
+ var += "_FLAG";
+ if(target.GetMakefile()->GetDefinition(var.c_str()))
{
return true;
}
Index: cmGlobalUnixMakefileGenerator3.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalUnixMakefileGenerator3.h,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- cmGlobalUnixMakefileGenerator3.h 28 Jun 2007 13:09:26 -0000 1.44
+++ cmGlobalUnixMakefileGenerator3.h 2 Aug 2007 18:23:46 -0000 1.45
@@ -165,7 +165,7 @@
cmTarget &target);
// does this generator need a requires step for any of its targets
- bool NeedRequiresStep(cmLocalUnixMakefileGenerator3 *lg, const char *);
+ bool NeedRequiresStep(cmTarget const&);
// Setup target names
virtual const char* GetAllTargetName() { return "all"; }
More information about the Cmake-commits
mailing list