[Cmake-commits] CMake branch, master, updated. v3.7.1-733-g4660958

2016-12-03 Thread Kitware Robot
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, master has been updated
   via  46609588759e3d84069e3f350feb8ca42560141b (commit)
  from  c45b767a8c2120ba61b9fafa31d8db37a919d62a (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=46609588759e3d84069e3f350feb8ca42560141b
commit 46609588759e3d84069e3f350feb8ca42560141b
Author: Kitware Robot 
AuthorDate: Sun Dec 4 00:01:03 2016 -0500
Commit: Kitware Robot 
CommitDate: Sun Dec 4 00:01:03 2016 -0500

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 124aa29..5af9a38 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 7)
-set(CMake_VERSION_PATCH 20161203)
+set(CMake_VERSION_PATCH 20161204)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.7.1-1494-g1301e17

2016-12-03 Thread Domen Vrankar
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  1301e17efbcf1a286e96240a0aa4082d134f1ea2 (commit)
   via  4e4b786e33cb67250a026efc1bbba6bba8575a07 (commit)
   via  a5a6f61be37bd7fa6997e40ed43b3450834b265e (commit)
  from  3bd5d24975e984b7df2c55855aacaaa291ca35d1 (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=1301e17efbcf1a286e96240a0aa4082d134f1ea2
commit 1301e17efbcf1a286e96240a0aa4082d134f1ea2
Merge: 3bd5d24 4e4b786
Author: Domen Vrankar 
AuthorDate: Sat Dec 3 14:42:45 2016 -0500
Commit: CMake Topic Stage 
CommitDate: Sat Dec 3 14:42:45 2016 -0500

Merge topic 'cpack-rpm-user-file-list-with-multiple-directives' into next

4e4b786e CPack/RPM CPACK_RPM_USER_FILELIST change release note
a5a6f61b CPackRPM now supports multiple directives in 
CPACK_RPM_USER_FILELIST


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4e4b786e33cb67250a026efc1bbba6bba8575a07
commit 4e4b786e33cb67250a026efc1bbba6bba8575a07
Author: Domen Vrankar 
AuthorDate: Sat Dec 3 20:38:30 2016 +0100
Commit: Domen Vrankar 
CommitDate: Sat Dec 3 20:40:29 2016 +0100

CPack/RPM CPACK_RPM_USER_FILELIST change release note

diff --git 
a/Help/release/dev/cpack-rpm-user-file-list-with-multiple-directives.rst 
b/Help/release/dev/cpack-rpm-user-file-list-with-multiple-directives.rst
new file mode 100644
index 000..ad0154d
--- /dev/null
+++ b/Help/release/dev/cpack-rpm-user-file-list-with-multiple-directives.rst
@@ -0,0 +1,6 @@
+cpack-rpm-user-file-list-with-multiple-directives
+-
+
+* The :module:`CPackRPM` module learned to support
+  multiple directives per file when using
+  :variable:`CPACK_RPM_USER_FILELIST` variable.

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a5a6f61be37bd7fa6997e40ed43b3450834b265e
commit a5a6f61be37bd7fa6997e40ed43b3450834b265e
Author: Harry Mallon 
AuthorDate: Sat Dec 3 20:31:41 2016 +0100
Commit: Domen Vrankar 
CommitDate: Sat Dec 3 20:39:05 2016 +0100

CPackRPM now supports multiple directives in CPACK_RPM_USER_FILELIST

* In older version "%dir %attr(-, root, root) foo" would put "%dir foo"
  in the final spec file.
* Also added comment to describe this and advise not not to add trailing
  slashes to directories in USER_FILELIST.
* Includes test in RunCMake CPack which now passes.

diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index 39697f0..5021c41 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -507,10 +507,12 @@
 #
 #  May be used to explicitly specify ``%()`` file line
 #  in the spec file. Like ``%config(noreplace)`` or any other directive
-#  that be found in the ``%files`` section. Since CPackRPM is generating
-#  the list of files (and directories) the user specified files of
-#  the ``CPACK_RPM__USER_FILELIST`` list will be removed from
-#  the generated list.
+#  that be found in the ``%files`` section. You can have multiple directives
+#  per line, as in ``%attr(600,root,root) %config(noreplace)``. Since
+#  CPackRPM is generating the list of files (and directories) the user
+#  specified files of the ``CPACK_RPM__USER_FILELIST`` list will
+#  be removed from the generated list. If referring to directories do
+#  not add a trailing slash.
 #
 # .. variable:: CPACK_RPM_CHANGELOG_FILE
 #
@@ -2055,7 +2057,8 @@ function(cpack_rpm_generate_package)
 set(CPACK_RPM_USER_INSTALL_FILES "")
 foreach(F IN LISTS CPACK_RPM_USER_FILELIST_INTERNAL)
   string(REGEX REPLACE "%[A-Za-z]+(\\([^()]*\\))? " "" F_PATH ${F})
-  string(REGEX MATCH "%[A-Za-z]+(\\([^()]*\\))?" F_PREFIX ${F})
+  string(REGEX MATCH "(%[A-Za-z]+(\\([^()]*\\))? )*" F_PREFIX ${F})
+  string(STRIP ${F_PREFIX} F_PREFIX)
 
   if(CPACK_RPM_PACKAGE_DEBUG)
 message("CPackRPM:Debug: F_PREFIX=<${F_PREFIX}>, F_PATH=<${F_PATH}>")
diff --git a/Tests/RunCMake/CPack/RunCMakeTest.cmake 
b/Tests/RunCMake/CPack/RunCMakeTest.cmake
index 092fb47..3077340 100644
--- a/Tests/RunCMake/CPack/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CPack/RunCMakeTest.cmake
@@ -22,3 +22,4 @@ run_cpack_test(PER_COMPONENT_FIELDS "RPM;DEB" false 
"COMPONENT")
 run_cpack_test_subtests(SINGLE_DEBUGINFO 
"no_main_component;one_component;one_component_main;no_debuginfo;one_component_no_debuginfo;no_components;valid"
 "RPM" true "CUSTOM")
 run_cpack_source_test(SOURCE_PACKAGE "RPM")
 run_cpack_test(SUGGESTS "RPM" false "MONOLITHIC")
+run_cpack_test(USER_FILELIST "RPM" false "MONOLITHIC")
diff --git a/Tests/RunCMake/CPack/tests/USER_FILELIST/ExpectedFiles.cmake 
b/Tests/RunCMake/CPack/tests/U

[Cmake-commits] CMake branch, next, updated. v3.7.1-1491-g3bd5d24

2016-12-03 Thread Daniel Pfeifer
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  3bd5d24975e984b7df2c55855aacaaa291ca35d1 (commit)
   via  1af67b199a048ed8f02f3b7090ad7d9fdae3e558 (commit)
   via  c45b767a8c2120ba61b9fafa31d8db37a919d62a (commit)
  from  f4d8b9d6db329e27d4bdcf07859649bb43fe7214 (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=3bd5d24975e984b7df2c55855aacaaa291ca35d1
commit 3bd5d24975e984b7df2c55855aacaaa291ca35d1
Merge: f4d8b9d 1af67b1
Author: Daniel Pfeifer 
AuthorDate: Sat Dec 3 09:03:01 2016 -0500
Commit: CMake Topic Stage 
CommitDate: Sat Dec 3 09:03:01 2016 -0500

Merge topic 'test-handler-multimap' into next

1af67b19 cmCTestTestHandler: use multimap
c45b767a CMake Nightly Date Stamp


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1af67b199a048ed8f02f3b7090ad7d9fdae3e558
commit 1af67b199a048ed8f02f3b7090ad7d9fdae3e558
Author: Daniel Pfeifer 
AuthorDate: Tue Nov 29 23:36:54 2016 +0100
Commit: Daniel Pfeifer 
CommitDate: Sat Dec 3 14:54:52 2016 +0100

cmCTestTestHandler: use multimap

diff --git a/Source/CTest/cmCTestTestHandler.cxx 
b/Source/CTest/cmCTestTestHandler.cxx
index ab43dbc..68f9a54 100644
--- a/Source/CTest/cmCTestTestHandler.cxx
+++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -797,8 +797,9 @@ void cmCTestTestHandler::UpdateForFixtures(ListOfTests& 
tests) const
 
   // Prepare some maps to help us find setup and cleanup tests for
   // any given fixture
-  typedef std::set TestIteratorSet;
-  typedef std::map FixtureDependencies;
+  typedef ListOfTests::const_iterator TestIterator;
+  typedef std::multimap FixtureDependencies;
+  typedef FixtureDependencies::const_iterator FixtureDepsIterator;
   FixtureDependencies fixtureSetups;
   FixtureDependencies fixtureDeps;
 
@@ -809,14 +810,14 @@ void cmCTestTestHandler::UpdateForFixtures(ListOfTests& 
tests) const
 const std::set& setups = p.FixturesSetup;
 for (std::set::const_iterator depsIt = setups.begin();
  depsIt != setups.end(); ++depsIt) {
-  fixtureSetups[*depsIt].insert(it);
-  fixtureDeps[*depsIt].insert(it);
+  fixtureSetups.insert(std::make_pair(*depsIt, it));
+  fixtureDeps.insert(std::make_pair(*depsIt, it));
 }
 
 const std::set& cleanups = p.FixturesCleanup;
 for (std::set::const_iterator depsIt = cleanups.begin();
  depsIt != cleanups.end(); ++depsIt) {
-  fixtureDeps[*depsIt].insert(it);
+  fixtureDeps.insert(std::make_pair(*depsIt, it));
 }
   }
 
@@ -859,17 +860,15 @@ void cmCTestTestHandler::UpdateForFixtures(ListOfTests& 
tests) const
   // associated with the required fixture. If any of those setup
   // tests fail, this test should not run. We make the fixture's
   // cleanup tests depend on this test case later.
-  FixtureDependencies::const_iterator setupIt =
-fixtureSetups.find(requiredFixtureName);
-  if (setupIt != fixtureSetups.end()) {
-for (TestIteratorSet::const_iterator sIt = setupIt->second.begin();
- sIt != setupIt->second.end(); ++sIt) {
-  const std::string& setupTestName = (**sIt).Name;
-  tests[i].RequireSuccessDepends.insert(setupTestName);
-  if (std::find(tests[i].Depends.begin(), tests[i].Depends.end(),
-setupTestName) == tests[i].Depends.end()) {
-tests[i].Depends.push_back(setupTestName);
-  }
+  std::pair setupRange =
+fixtureSetups.equal_range(requiredFixtureName);
+  for (FixtureDepsIterator sIt = setupRange.first;
+   sIt != setupRange.second; ++sIt) {
+const std::string& setupTestName = sIt->second->Name;
+tests[i].RequireSuccessDepends.insert(setupTestName);
+if (std::find(tests[i].Depends.begin(), tests[i].Depends.end(),
+  setupTestName) == tests[i].Depends.end()) {
+  tests[i].Depends.push_back(setupTestName);
 }
   }
 
@@ -882,17 +881,11 @@ void cmCTestTestHandler::UpdateForFixtures(ListOfTests& 
tests) const
 // Already added this fixture
 continue;
   }
-  FixtureDependencies::const_iterator fixtureIt =
-fixtureDeps.find(requiredFixtureName);
-  if (fixtureIt == fixtureDeps.end()) {
-// No setup or cleanup tests for this fixture
-continue;
-  }
-
-  const TestIteratorSet& testIters = fixtureIt->second;
-  for (TestIteratorSet::const_iterator depsIt = testIters.begin();
-   depsIt != testIters.end(); ++depsIt) {
-ListOfTests::const_iterator lotIt = *depsIt;
+  std::pair fixtureRange =
+fixtureDeps.equa