mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-03 12:19:41 -06:00
Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys: KWSys 2017-05-31 (bd0bbad7)
This commit is contained in:
@@ -918,7 +918,8 @@ int LoadLines(const char* fileName, std::vector<std::string>& lines)
|
|||||||
|
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
template <typename T>
|
template <typename T>
|
||||||
int NameValue(std::vector<std::string>& lines, std::string name, T& value)
|
int NameValue(std::vector<std::string> const& lines, std::string const& name,
|
||||||
|
T& value)
|
||||||
{
|
{
|
||||||
size_t nLines = lines.size();
|
size_t nLines = lines.size();
|
||||||
for (size_t i = 0; i < nLines; ++i) {
|
for (size_t i = 0; i < nLines; ++i) {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include KWSYS_HEADER(FStream.hxx)
|
#include KWSYS_HEADER(FStream.hxx)
|
||||||
#include KWSYS_HEADER(Encoding.hxx)
|
#include KWSYS_HEADER(Encoding.hxx)
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <set>
|
#include <set>
|
||||||
@@ -3708,6 +3709,16 @@ std::string SystemTools::JoinPath(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SystemTools::RemoveEmptyPathElements(std::vector<std::string>& path)
|
||||||
|
{
|
||||||
|
if (path.empty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
path.erase(std::remove(path.begin() + 1, path.end(), std::string("")),
|
||||||
|
path.end());
|
||||||
|
}
|
||||||
|
|
||||||
bool SystemTools::ComparePath(const std::string& c1, const std::string& c2)
|
bool SystemTools::ComparePath(const std::string& c1, const std::string& c2)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) || defined(__APPLE__)
|
#if defined(_WIN32) || defined(__APPLE__)
|
||||||
|
|||||||
@@ -474,6 +474,10 @@ public:
|
|||||||
static std::string JoinPath(std::vector<std::string>::const_iterator first,
|
static std::string JoinPath(std::vector<std::string>::const_iterator first,
|
||||||
std::vector<std::string>::const_iterator last);
|
std::vector<std::string>::const_iterator last);
|
||||||
|
|
||||||
|
/** Removes empty components from path.
|
||||||
|
*/
|
||||||
|
static void RemoveEmptyPathElements(std::vector<std::string>& path);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compare a path or components of a path.
|
* Compare a path or components of a path.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -54,7 +54,8 @@ static const char* toUnixPaths[][2] = {
|
|||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static bool CheckConvertToUnixSlashes(std::string input, std::string output)
|
static bool CheckConvertToUnixSlashes(std::string const& input,
|
||||||
|
std::string const& output)
|
||||||
{
|
{
|
||||||
std::string result = input;
|
std::string result = input;
|
||||||
kwsys::SystemTools::ConvertToUnixSlashes(result);
|
kwsys::SystemTools::ConvertToUnixSlashes(result);
|
||||||
@@ -71,8 +72,9 @@ static const char* checkEscapeChars[][4] = { { "1 foo 2 bar 2", "12", "\\",
|
|||||||
{ " {} ", "{}", "#", " #{#} " },
|
{ " {} ", "{}", "#", " #{#} " },
|
||||||
{ 0, 0, 0, 0 } };
|
{ 0, 0, 0, 0 } };
|
||||||
|
|
||||||
static bool CheckEscapeChars(std::string input, const char* chars_to_escape,
|
static bool CheckEscapeChars(std::string const& input,
|
||||||
char escape_char, std::string output)
|
const char* chars_to_escape, char escape_char,
|
||||||
|
std::string const& output)
|
||||||
{
|
{
|
||||||
std::string result = kwsys::SystemTools::EscapeChars(
|
std::string result = kwsys::SystemTools::EscapeChars(
|
||||||
input.c_str(), chars_to_escape, escape_char);
|
input.c_str(), chars_to_escape, escape_char);
|
||||||
|
|||||||
Reference in New Issue
Block a user