mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 13:51:33 -06:00
cmMakefile: Let AddDefinition accept a value as cm::string_view
This changes `cmMakefile::AddDefinition` to take a `cm::string_view` as value argument instead of a `const char *`. Benefits are: - `std::string` can be passed to `cmMakefile::AddDefinition` directly without the `c_str()` plus string length recomputation fallback. - Lengths of literals passed to `cmMakefile::AddDefinition` can be computed at compile time. In various sources uses of `cmMakefile::AddDefinition` are adapted to avoid `std::string::c_str` calls and the `std::string` is passed directly. Uses of `cmMakefile::AddDefinition`, where a `nullptr` `const char*` might be passed to `cmMakefile::AddDefinition` are extended with `nullptr` checks.
This commit is contained in:
@@ -932,7 +932,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv,
|
||||
cmStateEnums::INTERNAL);
|
||||
|
||||
if (!outputVariable.empty()) {
|
||||
this->Makefile->AddDefinition(outputVariable, output.c_str());
|
||||
this->Makefile->AddDefinition(outputVariable, output);
|
||||
}
|
||||
|
||||
if (this->SrcFileSignature) {
|
||||
@@ -961,8 +961,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv,
|
||||
}
|
||||
|
||||
if (!copyFileError.empty()) {
|
||||
this->Makefile->AddDefinition(copyFileError,
|
||||
copyFileErrorMessage.c_str());
|
||||
this->Makefile->AddDefinition(copyFileError, copyFileErrorMessage);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
|
||||
Reference in New Issue
Block a user