[Cmake-commits] CMake branch, next, updated. v3.3.2-3386-g3542ea2
Brad King
brad.king at kitware.com
Tue Sep 29 10:12:13 EDT 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 3542ea29b292696be6bd281523427d3edef06fd3 (commit)
via def90d5fa5d6a69abd4975d9fe4d07b0c21c6712 (commit)
via cc144ebfd8b3a7b89e07c3b22b6a9e8540e5d0e2 (commit)
from 64823832e250189e6a6a72a598425ce54f270b19 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3542ea29b292696be6bd281523427d3edef06fd3
commit 3542ea29b292696be6bd281523427d3edef06fd3
Merge: 6482383 def90d5
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 29 10:12:12 2015 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Sep 29 10:12:12 2015 -0400
Merge topic 'update-kwsys' into next
def90d5f Merge branch 'upstream-kwsys' into update-kwsys
cc144ebf KWSys 2015-09-28 (2089567a)
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=def90d5fa5d6a69abd4975d9fe4d07b0c21c6712
commit def90d5fa5d6a69abd4975d9fe4d07b0c21c6712
Merge: f23ab1a cc144eb
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 29 10:10:03 2015 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 29 10:10:03 2015 -0400
Merge branch 'upstream-kwsys' into update-kwsys
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc144ebfd8b3a7b89e07c3b22b6a9e8540e5d0e2
commit cc144ebfd8b3a7b89e07c3b22b6a9e8540e5d0e2
Author: KWSys Robot <kwrobot at kitware.com>
AuthorDate: Mon Sep 28 09:29:33 2015 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 29 10:09:57 2015 -0400
KWSys 2015-09-28 (2089567a)
Extract upstream KWSys using the following shell commands.
$ git archive --prefix=upstream-kwsys/ 2089567a | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' dc4e4a55..2089567a
Vitaly Baranov (1):
2089567a SystemTools: Fix GetPath to not affect existing output vector entries
diff --git a/SystemTools.cxx b/SystemTools.cxx
index 80289b8..262af27 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -408,6 +408,7 @@ class SystemToolsPathCaseMap:
// adds the elements of the env variable path to the arg passed in
void SystemTools::GetPath(std::vector<std::string>& path, const char* env)
{
+ size_t const old_size = path.size();
#if defined(_WIN32) && !defined(__CYGWIN__)
const char pathSep = ';';
#else
@@ -445,7 +446,7 @@ void SystemTools::GetPath(std::vector<std::string>& path, const char* env)
done = true;
}
}
- for(std::vector<std::string>::iterator i = path.begin();
+ for(std::vector<std::string>::iterator i = path.begin() + old_size;
i != path.end(); ++i)
{
SystemTools::ConvertToUnixSlashes(*i);
diff --git a/testSystemTools.cxx b/testSystemTools.cxx
index e14d2fc..a0f904f 100644
--- a/testSystemTools.cxx
+++ b/testSystemTools.cxx
@@ -28,6 +28,7 @@
#include <testSystemTools.h>
#include <iostream>
+#include <sstream>
#include <string.h> /* strcmp */
#if defined(_WIN32) && !defined(__CYGWIN__)
# include <io.h> /* _umask (MSVC) / umask (Borland) */
@@ -790,6 +791,66 @@ static bool CheckCollapsePath()
return res;
}
+static std::string StringVectorToString(const std::vector<std::string>& vec)
+{
+ std::stringstream ss;
+ ss << "vector(";
+ for (std::vector<std::string>::const_iterator i = vec.begin();
+ i != vec.end(); ++i)
+ {
+ if (i != vec.begin())
+ {
+ ss << ", ";
+ }
+ ss << *i;
+ }
+ ss << ")";
+ return ss.str();
+}
+
+static bool CheckGetPath()
+{
+ const char* envName = "S";
+#ifdef _WIN32
+ const char* envValue = "C:\\Somewhere\\something;D:\\Temp";
+#else
+ const char* envValue = "/Somewhere/something:/tmp";
+#endif
+ const char* registryPath = "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MyApp; MyKey]";
+
+ std::vector<std::string> originalPathes;
+ originalPathes.push_back(registryPath);
+
+ std::vector<std::string> expectedPathes;
+ expectedPathes.push_back(registryPath);
+#ifdef _WIN32
+ expectedPathes.push_back("C:/Somewhere/something");
+ expectedPathes.push_back("D:/Temp");
+#else
+ expectedPathes.push_back("/Somewhere/something");
+ expectedPathes.push_back("/tmp");
+#endif
+
+ bool res = true;
+ res &= CheckPutEnv(std::string(envName) + "=" + envValue, envName, envValue);
+
+ std::vector<std::string> pathes = originalPathes;
+ kwsys::SystemTools::GetPath(pathes, envName);
+
+ if (pathes != expectedPathes)
+ {
+ std::cerr <<
+ "GetPath(" << StringVectorToString(originalPathes) <<
+ ", " << envName << ") yielded " << StringVectorToString(pathes) <<
+ " instead of " << StringVectorToString(expectedPathes) <<
+ std::endl;
+ res = false;
+ }
+
+ res &= CheckUnPutEnv(envName, envName);
+ return res;
+}
+
//----------------------------------------------------------------------------
int testSystemTools(int, char*[])
{
@@ -825,5 +886,7 @@ int testSystemTools(int, char*[])
res &= CheckCollapsePath();
+ res &= CheckGetPath();
+
return res ? 0 : 1;
}
-----------------------------------------------------------------------
Summary of changes:
Source/kwsys/SystemTools.cxx | 3 +-
Source/kwsys/testSystemTools.cxx | 63 ++++++++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+), 1 deletion(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list