mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-02 03:39:43 -06:00
Merge topic 'update-kwsys'
b41b30f16eUpdate use of KWSys SystemTools::SplitString for new signaturef2d97c1cdfMerge branch 'upstream-KWSys' into update-kwsys6d7fdedde6KWSys 2018-06-22 (49068d94) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2165
This commit is contained in:
@@ -15,7 +15,6 @@
|
||||
#include "cmUVSignalHackRAII.h" // IWYU pragma: keep
|
||||
|
||||
#include "cmsys/FStream.hxx"
|
||||
#include "cmsys/String.hxx"
|
||||
#include "cmsys/SystemInformation.hxx"
|
||||
|
||||
#include <algorithm>
|
||||
@@ -458,7 +457,7 @@ void cmCTestMultiProcessHandler::UpdateCostData()
|
||||
if (line == "---") {
|
||||
break;
|
||||
}
|
||||
std::vector<cmsys::String> parts = cmSystemTools::SplitString(line, ' ');
|
||||
std::vector<std::string> parts = cmSystemTools::SplitString(line, ' ');
|
||||
// Format: <name> <previous_runs> <avg_cost>
|
||||
if (parts.size() < 3) {
|
||||
break;
|
||||
@@ -511,7 +510,7 @@ void cmCTestMultiProcessHandler::ReadCostData()
|
||||
break;
|
||||
}
|
||||
|
||||
std::vector<cmsys::String> parts = cmSystemTools::SplitString(line, ' ');
|
||||
std::vector<std::string> parts = cmSystemTools::SplitString(line, ' ');
|
||||
|
||||
// Probably an older version of the file, will be fixed next run
|
||||
if (parts.size() < 3) {
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "cmsys/FStream.hxx"
|
||||
#include "cmsys/Glob.hxx"
|
||||
#include "cmsys/Process.h"
|
||||
#include "cmsys/String.hxx"
|
||||
#include "cmsys/SystemInformation.hxx"
|
||||
#include <algorithm>
|
||||
#include <chrono>
|
||||
@@ -1491,7 +1490,7 @@ int cmCTest::GenerateCTestNotesOutput(cmXMLWriter& xml,
|
||||
this->AddSiteProperties(xml);
|
||||
xml.StartElement("Notes");
|
||||
|
||||
for (cmsys::String const& file : files) {
|
||||
for (std::string const& file : files) {
|
||||
cmCTestLog(this, OUTPUT, "\tAdd file: " << file << std::endl);
|
||||
std::string note_time = this->CurrentTime();
|
||||
xml.StartElement("Note");
|
||||
@@ -1595,7 +1594,7 @@ std::string cmCTest::Base64EncodeFile(std::string const& file)
|
||||
|
||||
bool cmCTest::SubmitExtraFiles(const VectorOfStrings& files)
|
||||
{
|
||||
for (cmsys::String const& file : files) {
|
||||
for (std::string const& file : files) {
|
||||
if (!cmSystemTools::FileExists(file)) {
|
||||
cmCTestLog(this, ERROR_MESSAGE,
|
||||
"Cannot find extra file: " << file << " to submit."
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include "cmDuration.h"
|
||||
#include "cmProcessOutput.h"
|
||||
#include "cmsys/String.hxx"
|
||||
|
||||
#include <chrono>
|
||||
#include <map>
|
||||
#include <set>
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
if the string does not name a valid part. */
|
||||
Part GetPartFromName(const char* name);
|
||||
|
||||
typedef std::vector<cmsys::String> VectorOfStrings;
|
||||
typedef std::vector<std::string> VectorOfStrings;
|
||||
typedef std::set<std::string> SetOfStrings;
|
||||
|
||||
/** Process Command line arguments */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "cmsys/FStream.hxx"
|
||||
#include "cmsys/Glob.hxx"
|
||||
#include "cmsys/RegularExpression.hxx"
|
||||
#include "cmsys/String.hxx"
|
||||
|
||||
#include <algorithm>
|
||||
#include <assert.h>
|
||||
#include <memory> // IWYU pragma: keep
|
||||
@@ -2484,11 +2484,11 @@ bool cmFileCommand::HandleCMakePathCommand(
|
||||
#else
|
||||
char pathSep = ':';
|
||||
#endif
|
||||
std::vector<cmsys::String> path = cmSystemTools::SplitString(*i, pathSep);
|
||||
std::vector<std::string> path = cmSystemTools::SplitString(*i, pathSep);
|
||||
i++;
|
||||
const char* var = i->c_str();
|
||||
std::string value;
|
||||
for (std::vector<cmsys::String>::iterator j = path.begin(); j != path.end();
|
||||
for (std::vector<std::string>::iterator j = path.begin(); j != path.end();
|
||||
++j) {
|
||||
if (j != path.begin()) {
|
||||
value += ";";
|
||||
@@ -2498,7 +2498,7 @@ bool cmFileCommand::HandleCMakePathCommand(
|
||||
} else {
|
||||
*j = cmSystemTools::ConvertToOutputPath(*j);
|
||||
// remove double quotes in the path
|
||||
cmsys::String& s = *j;
|
||||
std::string& s = *j;
|
||||
|
||||
if (s.size() > 1 && s[0] == '\"' && s[s.size() - 1] == '\"') {
|
||||
s = s.substr(1, s.size() - 2);
|
||||
|
||||
@@ -348,16 +348,14 @@ void cmGlobalGhsMultiGenerator::AddFilesUpToPath(
|
||||
{
|
||||
std::string workingPath(path);
|
||||
cmSystemTools::ConvertToUnixSlashes(workingPath);
|
||||
std::vector<cmsys::String> splitPath =
|
||||
cmSystemTools::SplitString(workingPath);
|
||||
std::vector<std::string> splitPath = cmSystemTools::SplitString(workingPath);
|
||||
std::string workingRelPath(relPath);
|
||||
cmSystemTools::ConvertToUnixSlashes(workingRelPath);
|
||||
if (!workingRelPath.empty()) {
|
||||
workingRelPath += "/";
|
||||
}
|
||||
std::string pathUpTo;
|
||||
for (std::vector<cmsys::String>::const_iterator splitPathI =
|
||||
splitPath.begin();
|
||||
for (std::vector<std::string>::const_iterator splitPathI = splitPath.begin();
|
||||
splitPath.end() != splitPathI; ++splitPathI) {
|
||||
pathUpTo += *splitPathI;
|
||||
if (targetFolderBuildStreams->end() ==
|
||||
@@ -415,11 +413,11 @@ void cmGlobalGhsMultiGenerator::AddFilesUpToPathNewBuildFile(
|
||||
void cmGlobalGhsMultiGenerator::AddFilesUpToPathAppendNextFile(
|
||||
std::map<std::string, cmGeneratedFileStream*>* targetFolderBuildStreams,
|
||||
std::string const& pathUpTo,
|
||||
std::vector<cmsys::String>::const_iterator splitPathI,
|
||||
std::vector<cmsys::String>::const_iterator end,
|
||||
std::vector<std::string>::const_iterator splitPathI,
|
||||
std::vector<std::string>::const_iterator end,
|
||||
GhsMultiGpj::Types const projType)
|
||||
{
|
||||
std::vector<cmsys::String>::const_iterator splitPathNextI = splitPathI + 1;
|
||||
std::vector<std::string>::const_iterator splitPathNextI = splitPathI + 1;
|
||||
if (end != splitPathNextI &&
|
||||
targetFolderBuildStreams->end() ==
|
||||
targetFolderBuildStreams->find(pathUpTo + "/" + *splitPathNextI)) {
|
||||
@@ -436,7 +434,7 @@ std::string cmGlobalGhsMultiGenerator::GetFileNameFromPath(
|
||||
std::string output(path);
|
||||
if (!path.empty()) {
|
||||
cmSystemTools::ConvertToUnixSlashes(output);
|
||||
std::vector<cmsys::String> splitPath = cmSystemTools::SplitString(output);
|
||||
std::vector<std::string> splitPath = cmSystemTools::SplitString(output);
|
||||
output += "/" + splitPath.back() + FILE_EXTENSION;
|
||||
}
|
||||
return output;
|
||||
@@ -457,7 +455,7 @@ void cmGlobalGhsMultiGenerator::UpdateBuildFiles(
|
||||
this->GetCMakeInstance()->GetHomeOutputDirectory().c_str(),
|
||||
folderName, GhsMultiGpj::PROJECT);
|
||||
}
|
||||
std::vector<cmsys::String> splitPath = cmSystemTools::SplitString(
|
||||
std::vector<std::string> splitPath = cmSystemTools::SplitString(
|
||||
cmGhsMultiTargetGenerator::GetRelBuildFileName(tgt));
|
||||
std::string foldNameRelBuildFile(*(splitPath.end() - 2) + "/" +
|
||||
splitPath.back());
|
||||
|
||||
@@ -112,9 +112,8 @@ private:
|
||||
static void AddFilesUpToPathAppendNextFile(
|
||||
std::map<std::string, cmGeneratedFileStream*>* targetFolderBuildStreams,
|
||||
std::string const& pathUpTo,
|
||||
std::vector<cmsys::String>::const_iterator splitPathI,
|
||||
std::vector<cmsys::String>::const_iterator end,
|
||||
GhsMultiGpj::Types projType);
|
||||
std::vector<std::string>::const_iterator splitPathI,
|
||||
std::vector<std::string>::const_iterator end, GhsMultiGpj::Types projType);
|
||||
static std::string GetFileNameFromPath(std::string const& path);
|
||||
void UpdateBuildFiles(const std::vector<cmGeneratorTarget*>& tgts);
|
||||
bool IsTgtForBuild(const cmGeneratorTarget* tgt);
|
||||
|
||||
@@ -397,12 +397,12 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution(
|
||||
if (written && this->UseFolderProperty()) {
|
||||
const std::string targetFolder = target->GetEffectiveFolderName();
|
||||
if (!targetFolder.empty()) {
|
||||
std::vector<cmsys::String> tokens =
|
||||
std::vector<std::string> tokens =
|
||||
cmSystemTools::SplitString(targetFolder, '/', false);
|
||||
|
||||
std::string cumulativePath;
|
||||
|
||||
for (cmsys::String const& iter : tokens) {
|
||||
for (std::string const& iter : tokens) {
|
||||
if (!iter.size()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1752,11 +1752,11 @@ std::string SystemTools::CropString(const std::string& s, size_t max_len)
|
||||
return n;
|
||||
}
|
||||
|
||||
std::vector<kwsys::String> SystemTools::SplitString(const std::string& p,
|
||||
char sep, bool isPath)
|
||||
std::vector<std::string> SystemTools::SplitString(const std::string& p,
|
||||
char sep, bool isPath)
|
||||
{
|
||||
std::string path = p;
|
||||
std::vector<kwsys::String> paths;
|
||||
std::vector<std::string> paths;
|
||||
if (path.empty()) {
|
||||
return paths;
|
||||
}
|
||||
@@ -3279,13 +3279,12 @@ std::string SystemTools::RelativePath(const std::string& local,
|
||||
std::string r = SystemTools::CollapseFullPath(remote);
|
||||
|
||||
// split up both paths into arrays of strings using / as a separator
|
||||
std::vector<kwsys::String> localSplit =
|
||||
SystemTools::SplitString(l, '/', true);
|
||||
std::vector<kwsys::String> remoteSplit =
|
||||
std::vector<std::string> localSplit = SystemTools::SplitString(l, '/', true);
|
||||
std::vector<std::string> remoteSplit =
|
||||
SystemTools::SplitString(r, '/', true);
|
||||
std::vector<kwsys::String>
|
||||
std::vector<std::string>
|
||||
commonPath; // store shared parts of path in this array
|
||||
std::vector<kwsys::String> finalPath; // store the final relative path here
|
||||
std::vector<std::string> finalPath; // store the final relative path here
|
||||
// count up how many matching directory names there are from the start
|
||||
unsigned int sameCount = 0;
|
||||
while (((sameCount <= (localSplit.size() - 1)) &&
|
||||
@@ -3325,7 +3324,7 @@ std::string SystemTools::RelativePath(const std::string& local,
|
||||
}
|
||||
// for each entry that is not common in the remote path add it
|
||||
// to the final path.
|
||||
for (std::vector<String>::iterator vit = remoteSplit.begin();
|
||||
for (std::vector<std::string>::iterator vit = remoteSplit.begin();
|
||||
vit != remoteSplit.end(); ++vit) {
|
||||
if (!vit->empty()) {
|
||||
finalPath.push_back(*vit);
|
||||
@@ -3334,7 +3333,7 @@ std::string SystemTools::RelativePath(const std::string& local,
|
||||
std::string relativePath; // result string
|
||||
// now turn the array of directories into a unix path by puttint /
|
||||
// between each entry that does not already have one
|
||||
for (std::vector<String>::iterator vit1 = finalPath.begin();
|
||||
for (std::vector<std::string>::iterator vit1 = finalPath.begin();
|
||||
vit1 != finalPath.end(); ++vit1) {
|
||||
if (!relativePath.empty() && *relativePath.rbegin() != '/') {
|
||||
relativePath += "/";
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <@KWSYS_NAMESPACE@/String.hxx>
|
||||
|
||||
#include <sys/types.h>
|
||||
// include sys/stat.h after sys/types.h
|
||||
#include <sys/stat.h>
|
||||
@@ -197,9 +195,9 @@ public:
|
||||
s starts with a / then the first element of the returned array will
|
||||
be /, so /foo/bar will be [/, foo, bar]
|
||||
*/
|
||||
static std::vector<String> SplitString(const std::string& s,
|
||||
char separator = '/',
|
||||
bool isPath = false);
|
||||
static std::vector<std::string> SplitString(const std::string& s,
|
||||
char separator = '/',
|
||||
bool isPath = false);
|
||||
/**
|
||||
* Perform a case-independent string comparison
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user