mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-06 22:30:07 -05:00
Speedup find_* commands (#11412)
Delay computation of the command documentation until it is needed. It is wasteful to do it in the constructor on every call. Inspired-By: Christian Ehrlicher <Ch.Ehrlicher@gmx.de>
This commit is contained in:
@@ -18,6 +18,11 @@ cmFindPathCommand::cmFindPathCommand()
|
||||
{
|
||||
this->EnvironmentPath = "INCLUDE";
|
||||
this->IncludeFileInPath = false;
|
||||
}
|
||||
|
||||
void cmFindPathCommand::GenerateDocumentation()
|
||||
{
|
||||
this->cmFindBase::GenerateDocumentation();
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"FIND_XXX", "find_path");
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
@@ -31,27 +36,21 @@ cmFindPathCommand::cmFindPathCommand()
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"XXX_SYSTEM", "INCLUDE");
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"CMAKE_SYSTEM_XXX_PATH",
|
||||
"CMAKE_SYSTEM_INCLUDE_PATH");
|
||||
"CMAKE_SYSTEM_XXX_PATH",
|
||||
"CMAKE_SYSTEM_INCLUDE_PATH");
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"SEARCH_XXX_DESC",
|
||||
"SEARCH_XXX_DESC",
|
||||
"directory containing the named file");
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"SEARCH_XXX", "file in a directory");
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"XXX_SUBDIR", "include");
|
||||
cmSystemTools::ReplaceString(this->GenericDocumentation,
|
||||
"CMAKE_FIND_ROOT_PATH_MODE_XXX",
|
||||
"CMAKE_FIND_ROOT_PATH_MODE_XXX",
|
||||
"CMAKE_FIND_ROOT_PATH_MODE_INCLUDE");
|
||||
|
||||
this->ExtraDocAdded = false;
|
||||
}
|
||||
|
||||
const char* cmFindPathCommand::GetFullDocumentation()
|
||||
{
|
||||
if(!this->ExtraDocAdded && !this->IncludeFileInPath)
|
||||
if(!this->IncludeFileInPath)
|
||||
{
|
||||
this->GenericDocumentation +=
|
||||
this->GenericDocumentation +=
|
||||
"\n"
|
||||
"When searching for frameworks, if the file is specified as "
|
||||
"A/b.h, then the framework search will look for "
|
||||
@@ -59,9 +58,7 @@ const char* cmFindPathCommand::GetFullDocumentation()
|
||||
"If that is found the path will be set to the path to the framework. "
|
||||
"CMake will convert this to the correct -F option to include the "
|
||||
"file. ";
|
||||
this->ExtraDocAdded = true;
|
||||
}
|
||||
return this->GenericDocumentation.c_str();
|
||||
}
|
||||
|
||||
// cmFindPathCommand
|
||||
|
||||
Reference in New Issue
Block a user