Merge topic 'update-kwsys'

b41b30f16e Update use of KWSys SystemTools::SplitString for new signature
f2d97c1cdf Merge branch 'upstream-KWSys' into update-kwsys
6d7fdedde6 KWSys 2018-06-22 (49068d94)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2165
This commit is contained in:
Brad King
2018-06-25 13:56:48 +00:00
committed by Kitware Robot
9 changed files with 33 additions and 41 deletions

View File

@@ -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) {

View File

@@ -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."

View File

@@ -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 */

View File

@@ -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);

View File

@@ -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());

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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 += "/";

View File

@@ -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
*/