[Cmake-commits] [cmake-commits] king committed cmGlobalGenerator.cxx 1.241 1.242 cmGlobalGenerator.h 1.113 1.114

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Sep 22 10:56:51 EDT 2008


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv28107/Source

Modified Files:
	cmGlobalGenerator.cxx cmGlobalGenerator.h 
Log Message:
ENH: Make dir content cache work during configure

Previously the cmGlobalGenerator::GetDirectoryContent method would work
safely only during build system generation.  These changes make it safe
to use during each configure step by flushing it at the beginning.


Index: cmGlobalGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalGenerator.h,v
retrieving revision 1.113
retrieving revision 1.114
diff -C 2 -d -r1.113 -r1.114
*** cmGlobalGenerator.h	16 Jul 2008 15:03:58 -0000	1.113
--- cmGlobalGenerator.h	22 Sep 2008 14:56:48 -0000	1.114
***************
*** 214,223 ****
    cmTargetManifest const& GetTargetManifest() { return this->TargetManifest; }
  
!   /** Get the content of a directory on disk including the target
!       files to be generated.  This may be called only during the
!       generation step.  It is intended for use only by
!       cmComputeLinkInformation.  */
    std::set<cmStdString> const& GetDirectoryContent(std::string const& dir,
!                                                    bool needDisk);
  
    void AddTarget(cmTargets::value_type &v);
--- 214,223 ----
    cmTargetManifest const& GetTargetManifest() { return this->TargetManifest; }
  
!   /** Get the content of a directory.  Directory listings are loaded
!       from disk at most once and cached.  During the generation step
!       the content will include the target files to be built even if
!       they do not yet exist.  */
    std::set<cmStdString> const& GetDirectoryContent(std::string const& dir,
!                                                    bool needDisk = true);
  
    void AddTarget(cmTargets::value_type &v);

Index: cmGlobalGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalGenerator.cxx,v
retrieving revision 1.241
retrieving revision 1.242
diff -C 2 -d -r1.241 -r1.242
*** cmGlobalGenerator.cxx	15 Sep 2008 17:46:56 -0000	1.241
--- cmGlobalGenerator.cxx	22 Sep 2008 14:56:48 -0000	1.242
***************
*** 732,735 ****
--- 732,736 ----
    this->ProjectMap.clear();
    this->RuleHashes.clear();
+   this->DirectoryContentMap.clear();
  
    // start with this directory



More information about the Cmake-commits mailing list