[Cmake-commits] [cmake-commits] hoffman committed cmCPluginAPI.cxx 1.42 1.42.2.1 cmDependsFortran.cxx 1.46.2.2 1.46.2.3 cmDependsFortranParser.cxx 1.16.2.2 1.16.2.3 cmDependsFortranParser.y 1.18.2.2 1.18.2.3 cmDocumentVariables.cxx 1.18.2.5 1.18.2.6 cmDocumentationFormatterMan.cxx 1.5.2.1 1.5.2.2 cmFileCommand.cxx 1.103.2.8 1.103.2.9 cmGetFilenameComponentCommand.cxx 1.17 1.17.2.1 cmGetFilenameComponentCommand.h 1.14 1.14.2.1 cmGlobalGenerator.cxx 1.227.2.9 1.227.2.10 cmGlobalGenerator.h 1.107.2.6 1.107.2.7 cmGlobalXCodeGenerator.cxx 1.186.2.13 1.186.2.14 cmGlobalXCodeGenerator.h 1.52.2.2 1.52.2.3 cmLocalGenerator.cxx 1.269.2.10 1.269.2.11 cmLocalGenerator.h 1.103.2.3 1.103.2.4 cmLocalUnixMakefileGenerator3.cxx 1.240.2.8 1.240.2.9 cmMakeDepend.cxx 1.46 1.46.2.1 cmMakeDepend.h 1.24 1.24.10.1 cmMakefile.cxx 1.463.2.12 1.463.2.13 cmMakefileTargetGenerator.cxx 1.93.2.7 1.93.2.8 cmSourceFile.cxx 1.47.2.4 1.47.2.5 cmTarget.cxx 1.207.2.13 1.207.2.14 cmake.cxx 1.375.2.17 1.375.2.18

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Mar 23 13:58:51 EDT 2009


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

Modified Files:
      Tag: CMake-2-6
	cmCPluginAPI.cxx cmDependsFortran.cxx 
	cmDependsFortranParser.cxx cmDependsFortranParser.y 
	cmDocumentVariables.cxx cmDocumentationFormatterMan.cxx 
	cmFileCommand.cxx cmGetFilenameComponentCommand.cxx 
	cmGetFilenameComponentCommand.h cmGlobalGenerator.cxx 
	cmGlobalGenerator.h cmGlobalXCodeGenerator.cxx 
	cmGlobalXCodeGenerator.h cmLocalGenerator.cxx 
	cmLocalGenerator.h cmLocalUnixMakefileGenerator3.cxx 
	cmMakeDepend.cxx cmMakeDepend.h cmMakefile.cxx 
	cmMakefileTargetGenerator.cxx cmSourceFile.cxx cmTarget.cxx 
	cmake.cxx 
Log Message:
ENH: check in changes to branch, most importantly the header file do not compile fix


Index: cmDependsFortran.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDependsFortran.cxx,v
retrieving revision 1.46.2.2
retrieving revision 1.46.2.3
diff -C 2 -d -r1.46.2.2 -r1.46.2.3
*** cmDependsFortran.cxx	15 May 2008 19:39:50 -0000	1.46.2.2
--- cmDependsFortran.cxx	23 Mar 2009 17:58:40 -0000	1.46.2.3
***************
*** 142,145 ****
--- 142,148 ----
    Internal(new cmDependsFortranInternals)
  {
+   // Configure the include file search path.
+   this->SetIncludePathFromLanguage("Fortran");
+ 
    // Get the list of definitions.
    std::vector<std::string> definitions;

Index: cmGlobalGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalGenerator.h,v
retrieving revision 1.107.2.6
retrieving revision 1.107.2.7
diff -C 2 -d -r1.107.2.6 -r1.107.2.7
*** cmGlobalGenerator.h	24 Oct 2008 15:18:46 -0000	1.107.2.6
--- cmGlobalGenerator.h	23 Mar 2009 17:58:40 -0000	1.107.2.7
***************
*** 253,256 ****
--- 253,262 ----
                     std::vector<std::string>::const_iterator last);
  
+   /** Return whether the given binary directory is unused.  */
+   bool BinaryDirectoryIsNew(const char* dir)
+     {
+     return this->BinaryDirectories.insert(dir).second;
+     }
+ 
  protected:
    // for a project collect all its targets by following depend
***************
*** 347,350 ****
--- 353,359 ----
    };
    std::map<cmStdString, DirectoryContent> DirectoryContentMap;
+ 
+   // Set of binary directories on disk.
+   std::set<cmStdString> BinaryDirectories;
  };
  

Index: cmGlobalGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalGenerator.cxx,v
retrieving revision 1.227.2.9
retrieving revision 1.227.2.10
diff -C 2 -d -r1.227.2.9 -r1.227.2.10
*** cmGlobalGenerator.cxx	11 Nov 2008 21:52:22 -0000	1.227.2.9
--- cmGlobalGenerator.cxx	23 Mar 2009 17:58:40 -0000	1.227.2.10
***************
*** 733,736 ****
--- 733,737 ----
    this->RuleHashes.clear();
    this->DirectoryContentMap.clear();
+   this->BinaryDirectories.clear();
  
    // start with this directory
***************
*** 739,742 ****
--- 740,744 ----
  
    // set the Start directories
+   cmMakefile* mf = lg->GetMakefile();
    lg->GetMakefile()->SetStartDirectory
      (this->CMakeInstance->GetStartDirectory());
***************
*** 745,748 ****
--- 747,752 ----
    lg->GetMakefile()->MakeStartDirectoriesCurrent();
  
+   this->BinaryDirectories.insert(mf->GetStartOutputDirectory());
+ 
    // now do it
    lg->Configure();

Index: cmMakefileTargetGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefileTargetGenerator.cxx,v
retrieving revision 1.93.2.7
retrieving revision 1.93.2.8
diff -C 2 -d -r1.93.2.7 -r1.93.2.8
*** cmMakefileTargetGenerator.cxx	24 Oct 2008 15:18:52 -0000	1.93.2.7
--- cmMakefileTargetGenerator.cxx	23 Mar 2009 17:58:48 -0000	1.93.2.8
***************
*** 269,274 ****
      if(const char* exportMacro = this->Target->GetExportMacro())
        {
!       flags += "-D";
!       flags += exportMacro;
        }
  
--- 269,273 ----
      if(const char* exportMacro = this->Target->GetExportMacro())
        {
!       this->LocalGenerator->AppendDefines(defines, exportMacro, lang);
        }
  

Index: cmDependsFortranParser.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDependsFortranParser.cxx,v
retrieving revision 1.16.2.2
retrieving revision 1.16.2.3
diff -C 2 -d -r1.16.2.2 -r1.16.2.3
*** cmDependsFortranParser.cxx	24 Apr 2008 16:56:25 -0000	1.16.2.2
--- cmDependsFortranParser.cxx	23 Mar 2009 17:58:40 -0000	1.16.2.3
***************
*** 243,248 ****
  {
    const char *cm = charmap;
!   const char* us1 = s1;
!   const char* us2 = s2;
    
    while(cm[*us1] == cm[*us2++])
--- 243,248 ----
  {
    const char *cm = charmap;
!   unsigned char const* us1 = reinterpret_cast<unsigned char const*>(s1);
!   unsigned char const* us2 = reinterpret_cast<unsigned char const*>(s2);
    
    while(cm[*us1] == cm[*us2++])

Index: cmTarget.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmTarget.cxx,v
retrieving revision 1.207.2.13
retrieving revision 1.207.2.14
diff -C 2 -d -r1.207.2.13 -r1.207.2.14
*** cmTarget.cxx	4 Feb 2009 16:44:17 -0000	1.207.2.13
--- cmTarget.cxx	23 Mar 2009 17:58:48 -0000	1.207.2.14
***************
*** 74,78 ****
       "the target in the build tree with the INSTALL_RPATH.  This takes "
       "precedence over SKIP_BUILD_RPATH and avoids the need for relinking "
!      "before installation.");
  
    cm->DefineProperty
--- 74,80 ----
       "the target in the build tree with the INSTALL_RPATH.  This takes "
       "precedence over SKIP_BUILD_RPATH and avoids the need for relinking "
!      "before installation.  "
!      "This property is initialized by the value of the variable "
!      "CMAKE_BUILD_WITH_INSTALL_RPATH if it is set when a target is created.");
  
    cm->DefineProperty
***************
*** 342,346 ****
       "The rpath to use for installed targets.",
       "A semicolon-separated list specifying the rpath "
!      "to use in installed targets (for platforms that support it).");
  
    cm->DefineProperty
--- 344,350 ----
       "The rpath to use for installed targets.",
       "A semicolon-separated list specifying the rpath "
!      "to use in installed targets (for platforms that support it).  "
!      "This property is initialized by the value of the variable "
!      "CMAKE_INSTALL_RPATH if it is set when a target is created.");
  
    cm->DefineProperty
***************
*** 349,353 ****
       "INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true will "
       "append directories in the linker search path and outside the "
!      "project to the INSTALL_RPATH. ");
  
    cm->DefineProperty
--- 353,360 ----
       "INSTALL_RPATH_USE_LINK_PATH is a boolean that if set to true will "
       "append directories in the linker search path and outside the "
!      "project to the INSTALL_RPATH.  "
!      "This property is initialized by the value of the variable "
!      "CMAKE_INSTALL_RPATH_USE_LINK_PATH if it is set when a target is "
!      "created.");
  
    cm->DefineProperty
***************
*** 523,527 ****
       "SKIP_BUILD_RPATH is a boolean specifying whether to skip automatic "
       "generation of an rpath allowing the target to run from the "
!      "build tree. ");
  
    cm->DefineProperty
--- 530,536 ----
       "SKIP_BUILD_RPATH is a boolean specifying whether to skip automatic "
       "generation of an rpath allowing the target to run from the "
!      "build tree.  "
!      "This property is initialized by the value of the variable "
!      "CMAKE_SKIP_BUILD_RPATH if it is set when a target is created.");
  
    cm->DefineProperty

Index: cmGlobalXCodeGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.h,v
retrieving revision 1.52.2.2
retrieving revision 1.52.2.3
diff -C 2 -d -r1.52.2.2 -r1.52.2.3
*** cmGlobalXCodeGenerator.h	24 Oct 2008 15:18:48 -0000	1.52.2.2
--- cmGlobalXCodeGenerator.h	23 Mar 2009 17:58:41 -0000	1.52.2.3
***************
*** 160,163 ****
--- 160,164 ----
    void CreateXCodeTargets(cmLocalGenerator* gen, 
                            std::vector<cmXCodeObject*>&);
+   bool IsHeaderFile(cmSourceFile*);
    void AddDependTarget(cmXCodeObject* target,
                         cmXCodeObject* dependTarget);

Index: cmGlobalXCodeGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v
retrieving revision 1.186.2.13
retrieving revision 1.186.2.14
diff -C 2 -d -r1.186.2.13 -r1.186.2.14
*** cmGlobalXCodeGenerator.cxx	19 Feb 2009 16:53:45 -0000	1.186.2.13
--- cmGlobalXCodeGenerator.cxx	23 Mar 2009 17:58:41 -0000	1.186.2.14
***************
*** 729,733 ****
          externalObjFiles.push_back(xsf);
          }
!       else if((*i)->GetPropertyAsBool("HEADER_FILE_ONLY") ||
          (tsFlags.Type == cmTarget::SourceFileTypePrivateHeader) ||
          (tsFlags.Type == cmTarget::SourceFileTypePublicHeader))
--- 729,733 ----
          externalObjFiles.push_back(xsf);
          }
!       else if(this->IsHeaderFile(*i) ||
          (tsFlags.Type == cmTarget::SourceFileTypePrivateHeader) ||
          (tsFlags.Type == cmTarget::SourceFileTypePublicHeader))
***************
*** 739,743 ****
          resourceFiles.push_back(xsf);
          }
!       else
          {
          // Include this file in the build if it has a known language
--- 739,743 ----
          resourceFiles.push_back(xsf);
          }
!       else if(!(*i)->GetPropertyAsBool("HEADER_FILE_ONLY"))
          {
          // Include this file in the build if it has a known language
***************
*** 909,912 ****
--- 909,921 ----
  
  //----------------------------------------------------------------------------
+ bool cmGlobalXCodeGenerator::IsHeaderFile(cmSourceFile* sf)
+ {
+   const std::vector<std::string>& hdrExts =
+     this->CurrentMakefile->GetHeaderExtensions();
+   return (std::find(hdrExts.begin(), hdrExts.end(), sf->GetExtension()) !=
+           hdrExts.end());
+ }
+ 
+ //----------------------------------------------------------------------------
  cmXCodeObject*
  cmGlobalXCodeGenerator::CreateBuildPhase(const char* name,

Index: cmake.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmake.cxx,v
retrieving revision 1.375.2.17
retrieving revision 1.375.2.18
diff -C 2 -d -r1.375.2.17 -r1.375.2.18
*** cmake.cxx	6 Feb 2009 21:15:16 -0000	1.375.2.17
--- cmake.cxx	23 Mar 2009 17:58:49 -0000	1.375.2.18
***************
*** 1364,1368 ****
          {
          std::string fname = cmSystemTools::GetFilenameName(realName);
!         if(cmSystemTools::FileExists(soName.c_str()))
            {
            cmSystemTools::RemoveFile(soName.c_str());
--- 1364,1369 ----
          {
          std::string fname = cmSystemTools::GetFilenameName(realName);
!         if(cmSystemTools::FileExists(soName.c_str()) ||
!            cmSystemTools::FileIsSymlink(soName.c_str()))
            {
            cmSystemTools::RemoveFile(soName.c_str());
***************
*** 1370,1373 ****
--- 1371,1375 ----
          if(!cmSystemTools::CreateSymlink(fname.c_str(), soName.c_str()))
            {
+           cmSystemTools::ReportLastSystemError("cmake_symlink_library");
            result = 1;
            }
***************
*** 1376,1380 ****
          {
          std::string fname = cmSystemTools::GetFilenameName(soName);
!         if(cmSystemTools::FileExists(soName.c_str()))
            {
            cmSystemTools::RemoveFile(name.c_str());
--- 1378,1383 ----
          {
          std::string fname = cmSystemTools::GetFilenameName(soName);
!         if(cmSystemTools::FileExists(name.c_str()) ||
!            cmSystemTools::FileIsSymlink(name.c_str()))
            {
            cmSystemTools::RemoveFile(name.c_str());
***************
*** 1382,1385 ****
--- 1385,1389 ----
          if(!cmSystemTools::CreateSymlink(fname.c_str(), name.c_str()))
            {
+           cmSystemTools::ReportLastSystemError("cmake_symlink_library");
            result = 1;
            }
***************
*** 1396,1400 ****
          {
          std::string fname = cmSystemTools::GetFilenameName(realName);
!         if(cmSystemTools::FileExists(realName.c_str()))
            {
            cmSystemTools::RemoveFile(name.c_str());
--- 1400,1405 ----
          {
          std::string fname = cmSystemTools::GetFilenameName(realName);
!         if(cmSystemTools::FileExists(name.c_str()) ||
!            cmSystemTools::FileIsSymlink(name.c_str()))
            {
            cmSystemTools::RemoveFile(name.c_str());
***************
*** 1402,1405 ****
--- 1407,1411 ----
          if(!cmSystemTools::CreateSymlink(fname.c_str(), name.c_str()))
            {
+           cmSystemTools::ReportLastSystemError("cmake_symlink_executable");
            result = 1;
            }

Index: cmDocumentationFormatterMan.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDocumentationFormatterMan.cxx,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -C 2 -d -r1.5.2.1 -r1.5.2.2
*** cmDocumentationFormatterMan.cxx	24 Oct 2008 15:18:46 -0000	1.5.2.1
--- cmDocumentationFormatterMan.cxx	23 Mar 2009 17:58:40 -0000	1.5.2.2
***************
*** 72,76 ****
    if (*text && man_text.at(man_text.length()-1) != '\n')
        os << "\n";
!   os << ".fi\n";
  }
  
--- 72,76 ----
    if (*text && man_text.at(man_text.length()-1) != '\n')
        os << "\n";
!   os << ".fi\n\n";
  }
  

Index: cmMakefile.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefile.cxx,v
retrieving revision 1.463.2.12
retrieving revision 1.463.2.13
diff -C 2 -d -r1.463.2.12 -r1.463.2.13
*** cmMakefile.cxx	4 Feb 2009 16:44:17 -0000	1.463.2.12
--- cmMakefile.cxx	23 Mar 2009 17:58:48 -0000	1.463.2.13
***************
*** 84,88 ****
    this->AddSourceGroup
      ("Source Files",
!      "\\.(C|M|c|c\\+\\+|cc|cpp|cxx|f|f90|for|fpp"
       "|ftn|m|mm|rc|def|r|odl|idl|hpj|bat)$");
    this->AddSourceGroup("Header Files",
--- 84,88 ----
    this->AddSourceGroup
      ("Source Files",
!      "\\.(C|M|c|c\\+\\+|cc|cpp|cxx|f|F|f90|for|fpp"
       "|ftn|m|mm|rc|def|r|odl|idl|hpj|bat)$");
    this->AddSourceGroup("Header Files",
***************
*** 1536,1539 ****
--- 1536,1554 ----
      }
  
+   // Make sure the binary directory is unique.
+   cmGlobalGenerator* gg = this->LocalGenerator->GetGlobalGenerator();
+   if(!gg->BinaryDirectoryIsNew(binPath))
+     {
+     cmOStringStream e;
+     e << "The binary directory\n"
+       << "  " << binPath << "\n"
+       << "is already used to build another source directory, so it cannot "
+       << "be used to build source directory\n"
+       << "  " << srcPath << "\n"
+       << "Specify a unique binary directory name.";
+     this->IssueMessage(cmake::FATAL_ERROR, e.str());
+     return;
+     }
+ 
    // create a new local generator and set its parent
    cmLocalGenerator *lg2 =

Index: cmLocalGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.cxx,v
retrieving revision 1.269.2.10
retrieving revision 1.269.2.11
diff -C 2 -d -r1.269.2.10 -r1.269.2.11
*** cmLocalGenerator.cxx	4 Feb 2009 22:04:49 -0000	1.269.2.10
--- cmLocalGenerator.cxx	23 Mar 2009 17:58:41 -0000	1.269.2.11
***************
*** 1134,1140 ****
      return this->LanguageToIncludeFlags[lang].c_str();
      }
    cmOStringStream includeFlags;
    std::vector<std::string> includes;
!   this->GetIncludeDirectories(includes);
    std::vector<std::string>::iterator i;
  
--- 1134,1141 ----
      return this->LanguageToIncludeFlags[lang].c_str();
      }
+ 
    cmOStringStream includeFlags;
    std::vector<std::string> includes;
!   this->GetIncludeDirectories(includes, lang);
    std::vector<std::string>::iterator i;
  
***************
*** 1242,1246 ****
  //----------------------------------------------------------------------------
  void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
!                                              bool filter_system_dirs)
  {
    // Need to decide whether to automatically include the source and
--- 1243,1247 ----
  //----------------------------------------------------------------------------
  void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
!                                              const char* lang)
  {
    // Need to decide whether to automatically include the source and
***************
*** 1308,1326 ****
      }
  
!   if(filter_system_dirs)
      {
!     // Do not explicitly add the standard include path "/usr/include".
!     // This can cause problems with certain standard library
!     // implementations because the wrong headers may be found first.
!     emitted.insert("/usr/include");
!     if(const char* implicitIncludes = this->Makefile->GetDefinition
!        ("CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES"))
        {
!       std::vector<std::string> implicitIncludeVec;
!       cmSystemTools::ExpandListArgument(implicitIncludes, implicitIncludeVec);
!       for(unsigned int k = 0; k < implicitIncludeVec.size(); ++k)
!         {
!         emitted.insert(implicitIncludeVec[k]);
!         }
        }
      }
--- 1309,1324 ----
      }
  
!   // Load implicit include directories for this language.
!   std::string impDirVar = "CMAKE_";
!   impDirVar += lang;
!   impDirVar += "_IMPLICIT_INCLUDE_DIRECTORIES";
!   if(const char* value = this->Makefile->GetDefinition(impDirVar.c_str()))
      {
!     std::vector<std::string> impDirVec;
!     cmSystemTools::ExpandListArgument(value, impDirVec);
!     for(std::vector<std::string>::const_iterator i = impDirVec.begin();
!         i != impDirVec.end(); ++i)
        {
!       emitted.insert(*i);
        }
      }
***************
*** 2128,2150 ****
  {
    const char* remotePath = this->GetRelativeRootPath(remote);
    if(local && (!optional || this->UseRelativePaths))
      {
      std::vector<std::string> components;
!     std::string result;
!     switch(remote)
!       {
!       case HOME:
!       case HOME_OUTPUT:
!       case START:
!       case START_OUTPUT:
!         cmSystemTools::SplitPath(local, components);
!         result = this->ConvertToRelativePath(components, remotePath);
!         break;
!       case FULL:
!         result = remotePath;
!         break;
!       case NONE:
!         break;
!       }
      return this->ConvertToOutputFormat(result.c_str(), output);
      }
--- 2126,2138 ----
  {
    const char* remotePath = this->GetRelativeRootPath(remote);
+ 
+   // The relative root must have a path (i.e. not FULL or NONE)
+   assert(remotePath != 0);
+ 
    if(local && (!optional || this->UseRelativePaths))
      {
      std::vector<std::string> components;
!     cmSystemTools::SplitPath(local, components);
!     std::string result = this->ConvertToRelativePath(components, remotePath);
      return this->ConvertToOutputFormat(result.c_str(), output);
      }

Index: cmMakeDepend.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakeDepend.h,v
retrieving revision 1.24
retrieving revision 1.24.10.1
diff -C 2 -d -r1.24 -r1.24.10.1
*** cmMakeDepend.h	12 May 2006 16:29:09 -0000	1.24
--- cmMakeDepend.h	23 Mar 2009 17:58:48 -0000	1.24.10.1
***************
*** 97,106 ****
    virtual void SetMakefile(cmMakefile* makefile); 
  
-   /** 
-    * Get the depend info struct for a source file
-    */
-   const cmDependInformation 
-   *GetDependInformationForSourceFile(const cmSourceFile &sf) const;
- 
    /**
     * Add a directory to the search path for include files.
--- 97,100 ----
***************
*** 109,118 ****
  
    /**
-    * Generate dependencies for all the sources of all the targets
-    * in the makefile.
-    */
-   void GenerateMakefileDependencies();
- 
-   /**
     * Generate dependencies for the file given.  Returns a pointer to
     * the cmDependInformation object for the file.
--- 103,106 ----
***************
*** 120,129 ****
    const cmDependInformation* FindDependencies(const char* file);
  
! protected: 
!   /**
!    * Add a source file to the search path.
!    */
!   void AddFileToSearchPath(const char* filepath);
! 
    /**
     * Compute the depend information for this class.
--- 108,112 ----
    const cmDependInformation* FindDependencies(const char* file);
  
! protected:
    /**
     * Compute the depend information for this class.

Index: cmFileCommand.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmFileCommand.cxx,v
retrieving revision 1.103.2.8
retrieving revision 1.103.2.9
diff -C 2 -d -r1.103.2.8 -r1.103.2.9
*** cmFileCommand.cxx	13 Jan 2009 18:03:52 -0000	1.103.2.8
--- cmFileCommand.cxx	23 Mar 2009 17:58:40 -0000	1.103.2.9
***************
*** 2186,2196 ****
    for(;i != args.end(); ++i)
      {
!     if(cmSystemTools::FileIsDirectory(i->c_str()) && recurse)
        {
!       cmSystemTools::RemoveADirectory(i->c_str());
        }
      else
        {
!       cmSystemTools::RemoveFile(i->c_str());
        }
      }
--- 2186,2203 ----
    for(;i != args.end(); ++i)
      {
!     std::string fileName = *i;
!     if(!cmsys::SystemTools::FileIsFullPath(fileName.c_str()))
        {
!       fileName = this->Makefile->GetCurrentDirectory();
!       fileName += "/" + *i;
!       }
! 
!     if(cmSystemTools::FileIsDirectory(fileName.c_str()) && recurse)
!       {
!       cmSystemTools::RemoveADirectory(fileName.c_str());
        }
      else
        {
!       cmSystemTools::RemoveFile(fileName.c_str());
        }
      }

Index: cmSourceFile.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmSourceFile.cxx,v
retrieving revision 1.47.2.4
retrieving revision 1.47.2.5
diff -C 2 -d -r1.47.2.4 -r1.47.2.5
*** cmSourceFile.cxx	24 Oct 2008 15:18:54 -0000	1.47.2.4
--- cmSourceFile.cxx	23 Mar 2009 17:58:48 -0000	1.47.2.5
***************
*** 247,269 ****
      }
  
-   // Look for header files.
-   cmMakefile* mf = this->Location.GetMakefile();
-   const std::vector<std::string>& hdrExts = mf->GetHeaderExtensions();
-   if(std::find(hdrExts.begin(), hdrExts.end(), this->Extension) ==
-      hdrExts.end())
-     {
-     // This is not a known header file extension.  Mark it as not a
-     // header unless the user has already explicitly set the property.
-     if(!this->GetProperty("HEADER_FILE_ONLY"))
-       {
-       this->SetProperty("HEADER_FILE_ONLY", "0");
-       }
-     }
-   else
-     {
-     // This is a known header file extension.  The source cannot be compiled.
-     this->SetProperty("HEADER_FILE_ONLY", "1");
-     }
- 
    // Try to identify the source file language from the extension.
    if(this->Language.empty())
--- 247,250 ----

Index: cmMakeDepend.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakeDepend.cxx,v
retrieving revision 1.46
retrieving revision 1.46.2.1
diff -C 2 -d -r1.46 -r1.46.2.1
*** cmMakeDepend.cxx	15 Dec 2007 01:31:27 -0000	1.46
--- cmMakeDepend.cxx	23 Mar 2009 17:58:48 -0000	1.46.2.1
***************
*** 265,292 ****
  
  
- void cmMakeDepend::GenerateMakefileDependencies()
- {
-   // Now create cmDependInformation objects for files in the directory
-   cmTargets &tgts = this->Makefile->GetTargets();
-   for(cmTargets::iterator l = tgts.begin(); 
-       l != tgts.end(); l++)
-     {
-     const std::vector<cmSourceFile*> &classes = l->second.GetSourceFiles();
-     for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
-         i != classes.end(); ++i)
-       {
-       if(!(*i)->GetPropertyAsBool("HEADER_FILE_ONLY"))
-         {
-         cmDependInformation* info =
-           this->GetDependInformation((*i)->GetFullPath().c_str(),0);
-         this->AddFileToSearchPath(info->FullPath.c_str());
-         info->SourceFile = *i;
-         this->GenerateDependInformation(info);
-         }
-       }
-     }
- }
- 
- 
  // find the full path to fname by searching the this->IncludeDirectories array
  std::string cmMakeDepend::FullPath(const char* fname, const char *extraPath)
--- 265,268 ----
***************
*** 363,398 ****
    this->IncludeDirectories.push_back(path);
  }
- 
- // Add a directory to the search path
- void cmMakeDepend::AddFileToSearchPath(const char* file)
- {
-   std::string filepath = file;
-   std::string::size_type pos = filepath.rfind('/');
-   if(pos != std::string::npos)
-     {
-     std::string path = filepath.substr(0, pos);
-     if(std::find(this->IncludeDirectories.begin(),
-                  this->IncludeDirectories.end(), path)
-        == this->IncludeDirectories.end())
-       {
-       this->IncludeDirectories.push_back(path);
-       return;
-       }
-     }
- }
- 
- const cmDependInformation*
- cmMakeDepend::GetDependInformationForSourceFile(const cmSourceFile &sf) const
- {
-   for(DependInformationMapType::const_iterator i = 
-         this->DependInformationMap.begin();
-       i != this->DependInformationMap.end(); ++i)
-     {
-     const cmDependInformation* info = i->second;
-     if(info->SourceFile == &sf)
-       {
-       return info;
-       }
-     }
-   return 0;
- }
--- 339,340 ----

Index: cmGetFilenameComponentCommand.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGetFilenameComponentCommand.cxx,v
retrieving revision 1.17
retrieving revision 1.17.2.1
diff -C 2 -d -r1.17 -r1.17.2.1
*** cmGetFilenameComponentCommand.cxx	23 Jan 2008 15:27:59 -0000	1.17
--- cmGetFilenameComponentCommand.cxx	23 Mar 2009 17:58:40 -0000	1.17.2.1
***************
*** 76,80 ****
      result = cmSystemTools::GetFilenameWithoutExtension(filename);
      }
!   else if (args[2] == "ABSOLUTE")
      {
      // If the path given is relative evaluate it relative to the
--- 76,81 ----
      result = cmSystemTools::GetFilenameWithoutExtension(filename);
      }
!   else if (args[2] == "ABSOLUTE" ||
!            args[2] == "REALPATH")
      {
      // If the path given is relative evaluate it relative to the
***************
*** 93,96 ****
--- 94,102 ----
      // Collapse the path to its simplest form.
      result = cmSystemTools::CollapseFullPath(filename.c_str());
+     if(args[2] == "REALPATH")
+       {
+       // Resolve symlinks if possible
+       result = cmSystemTools::GetRealPath(filename.c_str());
+       }
      }
    else 

Index: cmLocalGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.h,v
retrieving revision 1.103.2.3
retrieving revision 1.103.2.4
diff -C 2 -d -r1.103.2.3 -r1.103.2.4
*** cmLocalGenerator.h	13 Jan 2009 18:03:52 -0000	1.103.2.3
--- cmLocalGenerator.h	23 Mar 2009 17:58:45 -0000	1.103.2.4
***************
*** 191,195 ****
    /** Get the include flags for the current makefile and language.  */
    void GetIncludeDirectories(std::vector<std::string>& dirs,
!                              bool filter_system_dirs = true);
  
    /** Compute the language used to compile the given source file.  */
--- 191,195 ----
    /** Get the include flags for the current makefile and language.  */
    void GetIncludeDirectories(std::vector<std::string>& dirs,
!                              const char* lang = "C");
  
    /** Compute the language used to compile the given source file.  */

Index: cmGetFilenameComponentCommand.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGetFilenameComponentCommand.h,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -C 2 -d -r1.14 -r1.14.2.1
*** cmGetFilenameComponentCommand.h	23 Jan 2008 15:27:59 -0000	1.14
--- cmGetFilenameComponentCommand.h	23 Mar 2009 17:58:40 -0000	1.14.2.1
***************
*** 69,77 ****
      return
        "  get_filename_component(VarName FileName\n"
!       "                         PATH|ABSOLUTE|NAME|EXT|NAME_WE\n"
        "                         [CACHE])\n"
        "Set VarName to be the path (PATH), file name (NAME), file "
        "extension (EXT), file name without extension (NAME_WE) of FileName, "
!       "or the full absolute (ABSOLUTE) file name without symlinks.  "
        "Note that the path is converted to Unix slashes format and has no "
        "trailing slashes. The longest file extension is always considered. "
--- 69,78 ----
      return
        "  get_filename_component(VarName FileName\n"
!       "                         PATH|ABSOLUTE|NAME|EXT|NAME_WE|REALPATH\n"
        "                         [CACHE])\n"
        "Set VarName to be the path (PATH), file name (NAME), file "
        "extension (EXT), file name without extension (NAME_WE) of FileName, "
!       "the full path (ABSOLUTE), or the full path with all symlinks "
!       "resolved (REALPATH).  "
        "Note that the path is converted to Unix slashes format and has no "
        "trailing slashes. The longest file extension is always considered. "

Index: cmDocumentVariables.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDocumentVariables.cxx,v
retrieving revision 1.18.2.5
retrieving revision 1.18.2.6
diff -C 2 -d -r1.18.2.5 -r1.18.2.6
*** cmDocumentVariables.cxx	15 Jan 2009 14:17:20 -0000	1.18.2.5
--- cmDocumentVariables.cxx	23 Mar 2009 17:58:40 -0000	1.18.2.6
***************
*** 932,950 ****
      ("EXECUTABLE_OUTPUT_PATH", cmProperty::VARIABLE,
       "Old executable location variable.",
!      "This variable should no longer be used as of CMake 2.6.  "
!      "Use the RUNTIME_OUTPUT_DIRECTORY target property instead.  "
!      "It will override this variable if it is set.\n"
!      "If set, this is the directory where all executables "
!      "built during the build process will be placed.",false,
       "Variables that Control the Build");
    cm->DefineProperty
      ("LIBRARY_OUTPUT_PATH", cmProperty::VARIABLE,
       "Old library location variable.",
!      "This variable should no longer be used as of CMake 2.6.  "
!      "Use the ARCHIVE_OUTPUT_DIRECTORY, LIBRARY_OUTPUT_DIRECTORY, and "
!      "RUNTIME_OUTPUT_DIRECTORY target properties instead.  "
!      "They will override this variable if they are set.\n"
!      "If set, this is the directory where all the libraries "
!      "built during the build process will be placed.",false,
       "Variables that Control the Build");
  
--- 932,946 ----
      ("EXECUTABLE_OUTPUT_PATH", cmProperty::VARIABLE,
       "Old executable location variable.",
!      "The target property RUNTIME_OUTPUT_DIRECTORY supercedes "
!      "this variable for a target if it is set.  "
!      "Executable targets are otherwise placed in this directory.",false,
       "Variables that Control the Build");
    cm->DefineProperty
      ("LIBRARY_OUTPUT_PATH", cmProperty::VARIABLE,
       "Old library location variable.",
!      "The target properties ARCHIVE_OUTPUT_DIRECTORY, "
!      "LIBRARY_OUTPUT_DIRECTORY, and RUNTIME_OUTPUT_DIRECTORY supercede "
!      "this variable for a target if they are set.  "
!      "Library targets are otherwise placed in this directory.",false,
       "Variables that Control the Build");
  
***************
*** 1102,1105 ****
--- 1098,1110 ----
       "part of a project for a given language but are not compiled. ",false,
       "Variables for Languages");
+ 
+   cm->DefineProperty
+     ("CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES", cmProperty::VARIABLE,
+      "Directories implicitly searched by the compiler for header files.",
+      "CMake does not explicitly specify these directories on compiler "
+      "command lines for language <LANG>.  "
+      "This prevents system include directories from being treated as user "
+      "include directories on some compilers.", false,
+      "Variables for Languages");
    
    cm->DefineProperty

Index: cmCPluginAPI.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmCPluginAPI.cxx,v
retrieving revision 1.42
retrieving revision 1.42.2.1
diff -C 2 -d -r1.42 -r1.42.2.1
*** cmCPluginAPI.cxx	23 Jan 2008 15:27:59 -0000	1.42
--- cmCPluginAPI.cxx	23 Mar 2009 17:58:40 -0000	1.42.2.1
***************
*** 707,714 ****
      }
  
-   // Implement the old SetName method code here.
-   sf->Properties.SetProperty("HEADER_FILE_ONLY", "1",
-                              cmProperty::SOURCE_FILE);
- 
    // Save the original name given.
    sf->SourceName = name;
--- 707,710 ----
***************
*** 743,753 ****
        }
  
-     // See if the file is a header file
-     if(std::find( headerExts.begin(), headerExts.end(),
-                   sf->SourceExtension ) == headerExts.end())
-       {
-       sf->Properties.SetProperty("HEADER_FILE_ONLY", "0",
-                                  cmProperty::SOURCE_FILE);
-       }
      sf->FullPath = hname;
      return;
--- 739,742 ----
***************
*** 764,769 ****
        {
        sf->SourceExtension = *ext;
-       sf->Properties.SetProperty("HEADER_FILE_ONLY", "0",
-                                  cmProperty::SOURCE_FILE);
        sf->FullPath = hname;
        return;
--- 753,756 ----
***************
*** 815,821 ****
  
    // Implement the old SetName method code here.
!   sf->Properties.SetProperty("HEADER_FILE_ONLY",
!                              headerFileOnly? "1" : "0",
!                              cmProperty::SOURCE_FILE);
    sf->SourceName = name;
    std::string fname = sf->SourceName;
--- 802,810 ----
  
    // Implement the old SetName method code here.
!   if(headerFileOnly)
!     {
!     sf->Properties.SetProperty("HEADER_FILE_ONLY", "1",
!                                cmProperty::SOURCE_FILE);
!     }
    sf->SourceName = name;
    std::string fname = sf->SourceName;

Index: cmLocalUnixMakefileGenerator3.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalUnixMakefileGenerator3.cxx,v
retrieving revision 1.240.2.8
retrieving revision 1.240.2.9
diff -C 2 -d -r1.240.2.8 -r1.240.2.9
*** cmLocalUnixMakefileGenerator3.cxx	13 Jan 2009 18:03:52 -0000	1.240.2.8
--- cmLocalUnixMakefileGenerator3.cxx	23 Mar 2009 17:58:48 -0000	1.240.2.9
***************
*** 501,505 ****
      << "SET(CMAKE_C_INCLUDE_PATH\n";
    std::vector<std::string> includeDirs;
!   this->GetIncludeDirectories(includeDirs, false);
    for(std::vector<std::string>::iterator i = includeDirs.begin();
        i != includeDirs.end(); ++i)
--- 501,505 ----
      << "SET(CMAKE_C_INCLUDE_PATH\n";
    std::vector<std::string> includeDirs;
!   this->GetIncludeDirectories(includeDirs);
    for(std::vector<std::string>::iterator i = includeDirs.begin();
        i != includeDirs.end(); ++i)

Index: cmDependsFortranParser.y
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDependsFortranParser.y,v
retrieving revision 1.18.2.2
retrieving revision 1.18.2.3
diff -C 2 -d -r1.18.2.2 -r1.18.2.3
*** cmDependsFortranParser.y	24 Apr 2008 16:56:25 -0000	1.18.2.2
--- cmDependsFortranParser.y	23 Mar 2009 17:58:40 -0000	1.18.2.3
***************
*** 102,107 ****
  {
    const char *cm = charmap;
!   const char* us1 = s1;
!   const char* us2 = s2;
    
    while(cm[*us1] == cm[*us2++])
--- 102,107 ----
  {
    const char *cm = charmap;
!   unsigned char const* us1 = reinterpret_cast<unsigned char const*>(s1);
!   unsigned char const* us2 = reinterpret_cast<unsigned char const*>(s2);
    
    while(cm[*us1] == cm[*us2++])



More information about the Cmake-commits mailing list