[Cmake-commits] [cmake-commits] king committed cmGlobalVisualStudio8Generator.cxx 1.38 1.39 cmGlobalVisualStudio8Generator.h 1.14 1.15
cmake-commits at cmake.org
cmake-commits at cmake.org
Fri Sep 4 12:37:57 EDT 2009
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv29099/Source
Modified Files:
cmGlobalVisualStudio8Generator.cxx
cmGlobalVisualStudio8Generator.h
Log Message:
Simplify VS generator ZERO_CHECK dependency
The VS generators use a ZERO_CHECK target on which all other targets
depend to check whether CMake needs to re-run. This commit simplifies
the addition of a dependency on the target to all other targets.
We also move addition of dependencies to the beginning of the Generate
step. This allows the dependency on ZERO_CHECK to be included in the
global inter-target dependency analysis.
Index: cmGlobalVisualStudio8Generator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalVisualStudio8Generator.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -C 2 -d -r1.14 -r1.15
*** cmGlobalVisualStudio8Generator.h 29 Jul 2009 15:28:54 -0000 1.14
--- cmGlobalVisualStudio8Generator.h 4 Sep 2009 16:37:53 -0000 1.15
***************
*** 70,75 ****
static cmIDEFlagTable const* GetExtraFlagTableVS8();
virtual void AddPlatformDefinitions(cmMakefile* mf);
- virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
- std::vector<cmLocalGenerator*>& generators);
virtual void WriteSLNHeader(std::ostream& fout);
virtual void WriteSolutionConfigurations(std::ostream& fout);
--- 70,73 ----
Index: cmGlobalVisualStudio8Generator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalVisualStudio8Generator.cxx,v
retrieving revision 1.38
retrieving revision 1.39
diff -C 2 -d -r1.38 -r1.39
*** cmGlobalVisualStudio8Generator.cxx 29 Jul 2009 15:28:54 -0000 1.38
--- cmGlobalVisualStudio8Generator.cxx 4 Sep 2009 16:37:51 -0000 1.39
***************
*** 243,286 ****
}
! // Now perform the main generation.
! this->cmGlobalVisualStudio7Generator::Generate();
! }
!
! //----------------------------------------------------------------------------
! void cmGlobalVisualStudio8Generator::WriteSLNFile(
! std::ostream& fout, cmLocalGenerator* root,
! std::vector<cmLocalGenerator*>& generators)
! {
! // Make all targets depend on their respective project's build
! // system check target.
! unsigned int i;
! for(i = 0; i < generators.size(); ++i)
{
! if(this->IsExcluded(root, generators[i]))
! {
! continue;
! }
! cmMakefile* mf = generators[i]->GetMakefile();
! cmTargets& tgts = mf->GetTargets();
! for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); ++l)
{
! if(l->first == CMAKE_CHECK_BUILD_SYSTEM_TARGET)
! {
! for(unsigned int j = 0; j < generators.size(); ++j)
! {
! // Every target in all generators should depend on this target.
! cmMakefile* lmf = generators[j]->GetMakefile();
! cmTargets &atgts = lmf->GetTargets();
! for(cmTargets::iterator al = atgts.begin(); al != atgts.end(); ++al)
! {
! al->second.AddUtility(l->first.c_str());
! }
! }
! }
}
}
! // Now write the solution file.
! this->cmGlobalVisualStudio71Generator::WriteSLNFile(fout, root, generators);
}
--- 243,259 ----
}
! // All targets depend on the build-system check target.
! for(std::map<cmStdString,cmTarget *>::const_iterator
! ti = this->TotalTargets.begin();
! ti != this->TotalTargets.end(); ++ti)
{
! if(ti->first != CMAKE_CHECK_BUILD_SYSTEM_TARGET)
{
! ti->second->AddUtility(CMAKE_CHECK_BUILD_SYSTEM_TARGET);
}
}
! // Now perform the main generation.
! this->cmGlobalVisualStudio7Generator::Generate();
}
More information about the Cmake-commits
mailing list