[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