[Cmake-commits] CMake branch, master, updated. v3.7.1-733-g4660958
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
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
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