diff options
author | Brad King <brad.king@kitware.com> | 2023-03-18 15:19:28 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-03-18 15:52:41 (GMT) |
commit | f79817fcf0168c377ea4cb7187830a8caf373168 (patch) | |
tree | 0531bff85b3fd916cd692b62143ccfedc9b5a27f | |
parent | 5ab002ea11921c4766912cfa7ca98756271f87dc (diff) | |
download | CMake-f79817fcf0168c377ea4cb7187830a8caf373168.zip CMake-f79817fcf0168c377ea4cb7187830a8caf373168.tar.gz CMake-f79817fcf0168c377ea4cb7187830a8caf373168.tar.bz2 |
cmCxxModuleMapper: Use value semantics in path conversion callback
The call site already owns a path it doesn't need when the callback
returns. Hand ownership to the callback so it can optionally mutate
the path without necessarily allocating.
-rw-r--r-- | Source/cmCxxModuleMapper.cxx | 2 | ||||
-rw-r--r-- | Source/cmCxxModuleMapper.h | 2 | ||||
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/Source/cmCxxModuleMapper.cxx b/Source/cmCxxModuleMapper.cxx index 2c57c05..59bf4c7 100644 --- a/Source/cmCxxModuleMapper.cxx +++ b/Source/cmCxxModuleMapper.cxx @@ -21,7 +21,7 @@ cm::optional<std::string> CxxModuleLocations::BmiGeneratorPathForModule( std::string const& logical_name) const { if (auto l = this->BmiLocationForModule(logical_name)) { - return this->PathForGenerator(*l); + return this->PathForGenerator(std::move(*l)); } return {}; } diff --git a/Source/cmCxxModuleMapper.h b/Source/cmCxxModuleMapper.h index 9271978..0f453b0 100644 --- a/Source/cmCxxModuleMapper.h +++ b/Source/cmCxxModuleMapper.h @@ -30,7 +30,7 @@ struct CxxModuleLocations std::string RootDirectory; // A function to convert a full path to a path for the generator. - std::function<std::string(std::string const&)> PathForGenerator; + std::function<std::string(std::string)> PathForGenerator; // Lookup the BMI location of a logical module name. std::function<cm::optional<std::string>(std::string const&)> diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 9db92c0..e739038 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -2629,7 +2629,7 @@ bool cmGlobalNinjaGenerator::WriteDyndepFile( { CxxModuleLocations locs; locs.RootDirectory = "."; - locs.PathForGenerator = [this](std::string const& path) -> std::string { + locs.PathForGenerator = [this](std::string path) -> std::string { return this->ConvertToNinjaPath(path); }; locs.BmiLocationForModule = |