[Cmake-commits] [cmake-commits] hoffman committed cmComputeLinkInformation.cxx 1.24.2.6 1.24.2.7 cmDocumentVariables.cxx 1.18.2.1 1.18.2.2 cmDocumentation.cxx 1.69 1.69.2.1 cmDocumentationFormatter.cxx 1.1.2.1 1.1.2.2 cmDocumentationFormatterHTML.cxx 1.11.2.1 1.11.2.2 cmLocalGenerator.cxx 1.269.2.3 1.269.2.4

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Jul 22 14:04:26 EDT 2008


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

Modified Files:
      Tag: CMake-2-6
	cmComputeLinkInformation.cxx cmDocumentVariables.cxx 
	cmDocumentation.cxx cmDocumentationFormatter.cxx 
	cmDocumentationFormatterHTML.cxx cmLocalGenerator.cxx 
Log Message:
ENH: merge in changes from main tree for RC12


Index: cmLocalGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.cxx,v
retrieving revision 1.269.2.3
retrieving revision 1.269.2.4
diff -C 2 -d -r1.269.2.3 -r1.269.2.4
*** cmLocalGenerator.cxx	23 May 2008 20:09:36 -0000	1.269.2.3
--- cmLocalGenerator.cxx	22 Jul 2008 18:04:24 -0000	1.269.2.4
***************
*** 2366,2370 ****
      // Avoid full paths by removing leading slashes.
      std::string::size_type pos = 0;
!     for(;pos < ssin.size() && ssin[pos] == '/'; ++pos);
      ssin = ssin.substr(pos);
  
--- 2366,2372 ----
      // Avoid full paths by removing leading slashes.
      std::string::size_type pos = 0;
!     for(;pos < ssin.size() && ssin[pos] == '/'; ++pos)
!       {
!       }
      ssin = ssin.substr(pos);
  

Index: cmDocumentationFormatterHTML.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDocumentationFormatterHTML.cxx,v
retrieving revision 1.11.2.1
retrieving revision 1.11.2.2
diff -C 2 -d -r1.11.2.1 -r1.11.2.2
*** cmDocumentationFormatterHTML.cxx	5 May 2008 17:38:19 -0000	1.11.2.1
--- cmDocumentationFormatterHTML.cxx	22 Jul 2008 18:04:24 -0000	1.11.2.2
***************
*** 118,126 ****
                 const char* name)
  {
-   if(name)
-     {
-     os << "<h2><a name=\"section_" << name << "\"/>" << name << "</h2>\n";
-     }
- 
    std::string prefix = this->ComputeSectionLinkPrefix(name);
  
--- 118,121 ----
***************
*** 128,145 ****
      section.GetEntries();
  
!   os << "<ul>\n";
!   for(std::vector<cmDocumentationEntry>::const_iterator op 
!         = entries.begin(); op != entries.end(); ++ op )
      {
!     if(op->Name.size())
        {
!       os << "    <li><a href=\"#" << prefix << ":";
!       cmDocumentationPrintHTMLId(os, op->Name.c_str());
!       os << "\"><b><code>";
!       this->PrintHTMLEscapes(os, op->Name.c_str());
!       os << "</code></b></a></li>";
        }
      }
-   os << "</ul>\n" ;
  
    for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin(); 
--- 123,152 ----
      section.GetEntries();
  
!   // skip the index if the help for only a single item (--help-command,
!   // --help-policy, --help-property, --help-module) is printed
!   bool isSingleItemHelp = ((name!=0) && (strcmp(name, "SingleItem")==0));
! 
!   if (!isSingleItemHelp)
      {
!     if (name)
        {
!       os << "<h2><a name=\"section_" << name << "\"/>" << name << "</h2>\n";
        }
+ 
+     os << "<ul>\n";
+     for(std::vector<cmDocumentationEntry>::const_iterator op 
+          = entries.begin(); op != entries.end(); ++ op )
+       {
+       if(op->Name.size())
+          {
+          os << "    <li><a href=\"#" << prefix << ":";
+          cmDocumentationPrintHTMLId(os, op->Name.c_str());
+          os << "\"><b><code>";
+          this->PrintHTMLEscapes(os, op->Name.c_str());
+          os << "</code></b></a></li>";
+          }
+       }
+     os << "</ul>\n" ;
      }
  
    for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin(); 
***************
*** 241,244 ****
--- 248,259 ----
               std::vector<const cmDocumentationSection *>& sections)
  {
+   // skip the index if only the help for a single item is printed
+   if ((sections.size() == 1) 
+        && (sections[0]->GetName(this->GetForm()) != 0 )
+        && (std::string(sections[0]->GetName(this->GetForm())) == "SingleItem"))
+     {
+     return;
+     }
+ 
    os << "<h2><a name=\"section_Index\"/>Master Index</h2>\n";
    os << "<ul>\n";

Index: cmComputeLinkInformation.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmComputeLinkInformation.cxx,v
retrieving revision 1.24.2.6
retrieving revision 1.24.2.7
diff -C 2 -d -r1.24.2.6 -r1.24.2.7
*** cmComputeLinkInformation.cxx	1 May 2008 16:35:39 -0000	1.24.2.6
--- cmComputeLinkInformation.cxx	22 Jul 2008 18:04:24 -0000	1.24.2.7
***************
*** 1079,1084 ****
      }
  
    // Now add the full path to the library.
!   this->Items.push_back(Item(item, true));
  }
  
--- 1079,1123 ----
      }
  
+   // Full path libraries should have an extension.  CMake 2.4 would
+   // add the extension after splitting the file off of the directory.
+   // Some existing projects depended on this to build correctly
+   // because they left off the extension of an otherwise full-path
+   // library.  This worked with CMake 2.4 but only for VS IDE builds
+   // because the file-level dependency added to the Makefile would not
+   // be found.  Nevertheless, some projects have this mistake but work
+   // because they build only with the VS IDE.  We need to support them
+   // here by adding the missing extension.
+   std::string final_item = item;
+   if(strstr(this->GlobalGenerator->GetName(), "Visual Studio") &&
+      this->Makefile->NeedBackwardsCompatibility(2,4) &&
+      !cmSystemTools::ComparePath(
+        cmSystemTools::GetFilenameLastExtension(item).c_str(),
+        this->LibLinkSuffix.c_str()))
+     {
+     // Issue the warning at most once.
+     std::string wid = "VSIDE-LINK-EXT-";
+     wid += item;
+     if(!this->Target->GetPropertyAsBool(wid.c_str()))
+       {
+       this->Target->SetProperty(wid.c_str(), "1");
+       cmOStringStream w;
+       w << "Target \"" << this->Target->GetName() << "\" links to "
+         << "full-path item\n"
+         << "  " << item << "\n"
+         << "which does not have the proper link extension \""
+         << this->LibLinkSuffix << "\".  "
+         << "CMake is adding the missing extension because compatibility "
+         << "with CMake 2.4 is currently enabled and this case worked "
+         << "accidentally in that version.  "
+         << "The link extension should be added by the project developer.";
+       this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, w.str());
+       }
+ 
+     // Add the missing extension.
+     final_item += this->LibLinkSuffix;
+     }
+ 
    // Now add the full path to the library.
!   this->Items.push_back(Item(final_item, true));
  }
  

Index: cmDocumentationFormatter.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDocumentationFormatter.cxx,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C 2 -d -r1.1.2.1 -r1.1.2.2
*** cmDocumentationFormatter.cxx	5 May 2008 17:38:19 -0000	1.1.2.1
--- cmDocumentationFormatter.cxx	22 Jul 2008 18:04:24 -0000	1.1.2.2
***************
*** 147,150 ****
--- 147,154 ----
      return "see";
      }
+   else if(name.find("SingleItem") != name.npos)
+     {
+     return "single_item";
+     }
    else
      {

Index: cmDocumentation.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDocumentation.cxx,v
retrieving revision 1.69
retrieving revision 1.69.2.1
diff -C 2 -d -r1.69 -r1.69.2.1
*** cmDocumentation.cxx	5 Mar 2008 16:05:20 -0000	1.69
--- cmDocumentation.cxx	22 Jul 2008 18:04:24 -0000	1.69.2.1
***************
*** 1351,1355 ****
                              const cmDocumentationEntry &entry)
  {
!   cmDocumentationSection *sec = new cmDocumentationSection("","");
    sec->Append(entry);
    this->AllSections["temp"] = sec;
--- 1351,1357 ----
                              const cmDocumentationEntry &entry)
  {
!   // the string "SingleItem" will be used in a few places to detect the case
!   // that only the documentation for a single item is printed
!   cmDocumentationSection *sec = new cmDocumentationSection("SingleItem","");
    sec->Append(entry);
    this->AllSections["temp"] = sec;

Index: cmDocumentVariables.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmDocumentVariables.cxx,v
retrieving revision 1.18.2.1
retrieving revision 1.18.2.2
diff -C 2 -d -r1.18.2.1 -r1.18.2.2
*** cmDocumentVariables.cxx	18 Mar 2008 14:23:54 -0000	1.18.2.1
--- cmDocumentVariables.cxx	22 Jul 2008 18:04:24 -0000	1.18.2.2
***************
*** 80,83 ****
--- 80,90 ----
       "Variables that Provide Information");
    cm->DefineProperty
+     ("CMAKE_CROSSCOMPILING", cmProperty::VARIABLE,
+      "Is CMake currently cross compiling.",
+      "This variable will be set to true by CMake if CMake is cross "
+      "compiling. Specifically if the build platform is different "
+      "from the target platform.", false,
+      "Variables that Provide Information");
+   cm->DefineProperty
      ("CMAKE_CACHEFILE_DIR", cmProperty::VARIABLE,
       "The directory with the CMakeCache.txt file.",
***************
*** 419,430 ****
  
    cm->DefineProperty
-     ("CMAKE_CROSSCOMPILING", cmProperty::VARIABLE,
-      "Is CMake currently cross compiling.",
-      "This variable will be set to true by CMake if CMake is cross "
-      "compiling. Specifically if the build platform is different "
-      "from the target platform.", false,
-      "Variables That Change Behavior");
- 
-   cm->DefineProperty
      ("CMAKE_INSTALL_PREFIX", cmProperty::VARIABLE,
       "Install directory used by install.",
--- 426,429 ----
***************
*** 445,448 ****
--- 444,538 ----
  
    cm->DefineProperty
+     ("CMAKE_PREFIX_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_XXX(), with appropriate suffixes added.",
+      "Specifies a path which will be used by the FIND_XXX() commands. It "
+      "contains the \"base\" directories, the FIND_XXX() commands append "
+      "appropriate subdirectories to the base directories. So FIND_PROGRAM() "
+      "adds /bin to each of the directories in the path, FIND_LIBRARY() "
+      "appends /lib to each of the directories, and FIND_PATH() and "
+      "FIND_FILE() append /include . By default it is empty, it is intended "
+      "to be set by the project. See also CMAKE_SYSTEM_PREFIX_PATH, "
+      "CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, CMAKE_PROGRAM_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_INCLUDE_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_FILE() and FIND_PATH().",
+      "Specifies a path which will be used both by FIND_FILE() and "
+      "FIND_PATH(). Both commands will check each of the contained directories "
+      "for the existence of the file which is currently searched. By default "
+      "it is empty, it is intended to be set by the project. See also "
+      "CMAKE_SYSTEM_INCLUDE_PATH, CMAKE_PREFIX_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_LIBRARY_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_LIBRARY().",
+      "Specifies a path which will be used by FIND_LIBRARY(). FIND_LIBRARY() "
+      "will check each of the contained directories for the existence of the "
+      "library which is currently searched. By default it is empty, it is "
+      "intended to be set by the project. See also CMAKE_SYSTEM_LIBRARY_PATH, "
+      "CMAKE_PREFIX_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_PROGRAM_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_PROGRAM().",
+      "Specifies a path which will be used by FIND_PROGRAM(). FIND_PROGRAM() "
+      "will check each of the contained directories for the existence of the "
+      "program which is currently searched. By default it is empty, it is "
+      "intended to be set by the project. See also CMAKE_SYSTEM_PROGRAM_PATH, "
+      " CMAKE_PREFIX_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_SYSTEM_PREFIX_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_XXX(), with appropriate suffixes added.",
+      "Specifies a path which will be used by the FIND_XXX() commands. It "
+      "contains the \"base\" directories, the FIND_XXX() commands append "
+      "appropriate subdirectories to the base directories. So FIND_PROGRAM() "
+      "adds /bin to each of the directories in the path, FIND_LIBRARY() "
+      "appends /lib to each of the directories, and FIND_PATH() and "
+      "FIND_FILE() append /include . By default this contains the standard "
+      "directories for the current system. It is NOT intended "
+      "to be modified by the project, use CMAKE_PREFIX_PATH for this. See also "
+      "CMAKE_SYSTEM_INCLUDE_PATH, CMAKE_SYSTEM_LIBRARY_PATH, "
+      "CMAKE_SYSTEM_PROGRAM_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_SYSTEM_INCLUDE_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_FILE() and FIND_PATH().",
+      "Specifies a path which will be used both by FIND_FILE() and "
+      "FIND_PATH(). Both commands will check each of the contained directories "
+      "for the existence of the file which is currently searched. By default "
+      "it contains the standard directories for the current system. It is "
+      "NOT intended to be modified by the project, use CMAKE_INCLUDE_PATH "
+      "for this. See also CMAKE_SYSTEM_PREFIX_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_SYSTEM_LIBRARY_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_LIBRARY().",
+      "Specifies a path which will be used by FIND_LIBRARY(). FIND_LIBRARY() "
+      "will check each of the contained directories for the existence of the "
+      "library which is currently searched. By default it contains the "
+      "standard directories for the current system. It is NOT intended to be "
+      "modified by the project, use CMAKE_SYSTEM_LIBRARY_PATH for this. See "
+      "also CMAKE_SYSTEM_PREFIX_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
+     ("CMAKE_SYSTEM_PROGRAM_PATH", cmProperty::VARIABLE,
+      "Path used for searching by FIND_PROGRAM().",
+      "Specifies a path which will be used by FIND_PROGRAM(). FIND_PROGRAM() "
+      "will check each of the contained directories for the existence of the "
+      "program which is currently searched. By default it contains the "
+      "standard directories for the current system. It is NOT intended to be "
+      "modified by the project, use CMAKE_PROGRAM_PATH for this. See also "
+      "CMAKE_SYSTEM_PREFIX_PATH.", false,
+      "Variables That Change Behavior");
+ 
+   cm->DefineProperty
      ("CMAKE_USER_MAKE_RULES_OVERRIDE", cmProperty::VARIABLE,
       "Specify a file that can change the build rule variables.",



More information about the Cmake-commits mailing list