mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -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:
@@ -230,7 +230,7 @@ bool cmLoadCommandCommand::InitialPass(std::vector<std::string> const& args,
|
||||
}
|
||||
|
||||
// Report what file was loaded for this command.
|
||||
this->Makefile->AddDefinition(reportVar, fullPath.c_str());
|
||||
this->Makefile->AddDefinition(reportVar, fullPath);
|
||||
|
||||
// find the init function
|
||||
std::string initFuncName = args[0] + "Init";
|
||||
|
||||
Reference in New Issue
Block a user