1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-15 20:46:37 +08:00

Autogen: Protected calls to cmSystemTools::GetFilenameWithoutLastExtension

This commit is contained in:
Sebastian Holtermann
2018-04-03 12:25:28 +02:00
parent 65203ce407
commit 9a73615815
3 changed files with 14 additions and 5 deletions

View File

@@ -183,6 +183,13 @@ std::string cmQtAutoGenerator::FileSystem::JoinPath(
return cmSystemTools::JoinPath(first, last); return cmSystemTools::JoinPath(first, last);
} }
std::string cmQtAutoGenerator::FileSystem::GetFilenameWithoutLastExtension(
const std::string& filename)
{
std::lock_guard<std::mutex> lock(Mutex_);
return cmSystemTools::GetFilenameWithoutLastExtension(filename);
}
bool cmQtAutoGenerator::FileSystem::FileExists(std::string const& filename) bool cmQtAutoGenerator::FileSystem::FileExists(std::string const& filename)
{ {
std::lock_guard<std::mutex> lock(Mutex_); std::lock_guard<std::mutex> lock(Mutex_);

View File

@@ -85,6 +85,8 @@ public:
/// @brief Wrapper for cmSystemTools::JoinPath /// @brief Wrapper for cmSystemTools::JoinPath
std::string JoinPath(std::vector<std::string>::const_iterator first, std::string JoinPath(std::vector<std::string>::const_iterator first,
std::vector<std::string>::const_iterator last); std::vector<std::string>::const_iterator last);
/// @brief Wrapper for cmSystemTools::GetFilenameWithoutLastExtension
std::string GetFilenameWithoutLastExtension(const std::string& filename);
// -- File access // -- File access
bool FileExists(std::string const& filename); bool FileExists(std::string const& filename);

View File

@@ -168,7 +168,7 @@ void cmQtAutoGeneratorMocUic::JobParseT::Process(WorkerT& wrk)
if (!meta.Content.empty()) { if (!meta.Content.empty()) {
meta.FileDir = SubDirPrefix(FileName); meta.FileDir = SubDirPrefix(FileName);
meta.FileBase = meta.FileBase =
cmSystemTools::GetFilenameWithoutLastExtension(FileName); wrk.FileSys().GetFilenameWithoutLastExtension(FileName);
bool success = true; bool success = true;
if (AutoMoc) { if (AutoMoc) {
@@ -224,7 +224,7 @@ bool cmQtAutoGeneratorMocUic::JobParseT::ParseMocSource(WorkerT& wrk,
std::string incString = match.match(2); std::string incString = match.match(2);
std::string incDir(SubDirPrefix(incString)); std::string incDir(SubDirPrefix(incString));
std::string incBase = std::string incBase =
cmSystemTools::GetFilenameWithoutLastExtension(incString); wrk.FileSys().GetFilenameWithoutLastExtension(incString);
if (cmHasLiteralPrefix(incBase, "moc_")) { if (cmHasLiteralPrefix(incBase, "moc_")) {
// moc_<BASE>.cxx // moc_<BASE>.cxx
// Remove the moc_ part from the base name // Remove the moc_ part from the base name
@@ -533,7 +533,7 @@ std::string cmQtAutoGeneratorMocUic::JobParseT::UicFindIncludedFile(
{ {
std::string res; std::string res;
std::string searchFile = std::string searchFile =
cmSystemTools::GetFilenameWithoutLastExtension(includeString).substr(3); wrk.FileSys().GetFilenameWithoutLastExtension(includeString).substr(3);
searchFile += ".ui"; searchFile += ".ui";
// Collect search paths list // Collect search paths list
std::deque<std::string> testFiles; std::deque<std::string> testFiles;
@@ -678,7 +678,7 @@ void cmQtAutoGeneratorMocUic::JobMocT::Process(WorkerT& wrk)
} else { } else {
std::string rel = wrk.Base().FilePathChecksum.getPart(SourceFile); std::string rel = wrk.Base().FilePathChecksum.getPart(SourceFile);
rel += "/moc_"; rel += "/moc_";
rel += cmSystemTools::GetFilenameWithoutLastExtension(SourceFile); rel += wrk.FileSys().GetFilenameWithoutLastExtension(SourceFile);
rel += ".cpp"; rel += ".cpp";
// Register relative file path // Register relative file path
wrk.Gen().ParallelMocAutoRegister(rel); wrk.Gen().ParallelMocAutoRegister(rel);
@@ -1417,7 +1417,7 @@ bool cmQtAutoGeneratorMocUic::Init(cmMakefile* makefile)
{ {
std::array<std::string, 2> bases; std::array<std::string, 2> bases;
bases[0] = SubDirPrefix(src); bases[0] = SubDirPrefix(src);
bases[0] += cmSystemTools::GetFilenameWithoutLastExtension(src); bases[0] += FileSys().GetFilenameWithoutLastExtension(src);
bases[1] = bases[0]; bases[1] = bases[0];
bases[1] += "_p"; bases[1] += "_p";
for (std::string const& headerBase : bases) { for (std::string const& headerBase : bases) {