17417 Commits

Author SHA1 Message Date
Brad King
3a60c899fc cmake: Teach "-E tar" command a "--mtime=" option
Add an option to set the mtime of entries in a tarball so that one can
create a tarball with a consistent content hash (e.g. MD5) for a given
set of files regardless of their current timestamps on disk.  This will
be useful for submission of tarballs to CDash, which tracks content
hashes to avoid duplication.

Inspired-by: Bill Hoffman <bill.hoffman@kitware.com>
2015-01-19 14:16:19 -05:00
Brad King
90f9c42732 cmake: Teach "-E tar" to report file name on failure to read from disk
The libarchive-provided error message does not always include the file
name, so add it to the message ourselves to ensure users know which file
fails.
2015-01-19 14:15:58 -05:00
Brad King
5806f6c5e6 Merge branch 'xcode-target-sort' into release 2015-01-19 13:57:29 -05:00
Brad King
9de2ab7fce Merge topic 'consistent-empty-method'
5f69314e Replace foo.length() pattern with !foo.empty().
fd0c036c Replace 'foo.length() >= 1' pattern with !foo.empty()
f09fde2d Replace 'foo.length() > 0' pattern with !foo.empty().
86b5bdfa Replace 'foo.length() == 0' pattern with foo.empty().
fd7b3712 Replace foo.size() pattern with !foo.empty().
aa773035 Replace !foo.size() pattern with foo.empty().
64592633 cmListCommand: Use empty() and expand whitespace.
607e1938 Replace 'foo.size() != 0' pattern with !foo.empty().
930bd478 Replace 'foo.size() == 0' pattern with foo.empty().
d92887ef Replace 'foo.size() > 0' pattern with !foo.empty().
2015-01-19 09:43:28 -05:00
Brad King
a6bbbd0f4a Merge topic 'use-member-insert'
fa889c4d cmakemain: Initialize vector content with iterators directly.
8211010c cmakemain: Use member insert in command line handling code.
b5422573 cmListCommand: Replace loop with member algorithm.
92a37f92 Convert raw loops to set member insert.
aac44e71 Convert raw loops to vector member insert.
2015-01-19 09:43:27 -05:00
Brad King
95d42840e8 Merge topic 'delete-algorithm'
681d965d Use the cmDeleteAll algorithm for types derived from std::map.
4dc0c488 cmDeleteAll: Generalize deletion specialization for map types.
2015-01-19 09:43:25 -05:00
Brad King
373199b1c9 Merge topic 'eclipse-fix-cxx-natures'
6e6e0c40 Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068)
2015-01-19 09:43:09 -05:00
Ben Boeckel
9e0176e2b3 Xcode: Sort targets deterministically and with ALL_BUILD first (#15346)
The default target in XCode is the first one in the file.

In commit v3.1.0-rc1~286^2 (cmTarget: use a hash_map for cmTargets
typedef, 2014-06-10) the order of the targets stored in cmMakefile was
made non-deterministic instead of lexicographic.  Teach the Xcode
generator to do its own sorting to restore a predictable order.

While at it, place ALL_BUILD first (as is done in VS IDE generators)
explicitly in the comparison function so that it is the default target
even if other targets sort earlier lexicographically (e.g. "AAA").
2015-01-19 08:36:45 -05:00
Brad King
c0ff542c58 Xcode: Fix early termination on per-config source file error
In commit v3.1.0-rc1~687^2~4 (cmTarget: Make the source files depend on
the config, 2014-02-13) an early termination case was added to the Xcode
generator.  Fix handling of this case to actually abort all the
generation steps.  Otherwise some of the later steps are attempted
without the preconditions normally established by earlier steps,
possibly leading to a crash.
2015-01-19 08:34:32 -05:00
Kitware Robot
6164f7cef6 CMake Nightly Date Stamp 2015-01-19 00:01:10 -05:00
Stephen Kelly
fa889c4d2f cmakemain: Initialize vector content with iterators directly. 2015-01-18 18:24:04 +01:00
Stephen Kelly
8211010c3f cmakemain: Use member insert in command line handling code. 2015-01-18 18:18:43 +01:00
Stephen Kelly
b54225732f cmListCommand: Replace loop with member algorithm. 2015-01-18 15:15:17 +01:00
Stephen Kelly
92a37f9279 Convert raw loops to set member insert. 2015-01-18 15:14:47 +01:00
Stephen Kelly
aac44e71e6 Convert raw loops to vector member insert. 2015-01-18 15:14:36 +01:00
Stephen Kelly
5f69314ea6 Replace foo.length() pattern with !foo.empty(). 2015-01-18 14:25:25 +01:00
Stephen Kelly
fd0c036c0c Replace 'foo.length() >= 1' pattern with !foo.empty() 2015-01-18 14:25:25 +01:00
Stephen Kelly
f09fde2d21 Replace 'foo.length() > 0' pattern with !foo.empty(). 2015-01-18 14:25:25 +01:00
Stephen Kelly
86b5bdfa08 Replace 'foo.length() == 0' pattern with foo.empty(). 2015-01-18 14:25:24 +01:00
Stephen Kelly
fd7b371293 Replace foo.size() pattern with !foo.empty(). 2015-01-18 14:25:24 +01:00
Stephen Kelly
aa773035b7 Replace !foo.size() pattern with foo.empty(). 2015-01-18 14:25:24 +01:00
Stephen Kelly
6459263377 cmListCommand: Use empty() and expand whitespace. 2015-01-18 14:25:24 +01:00
Stephen Kelly
607e19384f Replace 'foo.size() != 0' pattern with !foo.empty(). 2015-01-18 14:25:24 +01:00
Stephen Kelly
930bd47816 Replace 'foo.size() == 0' pattern with foo.empty(). 2015-01-18 14:25:24 +01:00
Stephen Kelly
d92887efab Replace 'foo.size() > 0' pattern with !foo.empty(). 2015-01-18 14:25:24 +01:00
Kitware Robot
f3e92d2816 CMake Nightly Date Stamp 2015-01-18 00:01:09 -05:00
Stephen Kelly
681d965df1 Use the cmDeleteAll algorithm for types derived from std::map. 2015-01-17 16:22:58 +01:00
Stephen Kelly
4dc0c488f9 cmDeleteAll: Generalize deletion specialization for map types.
Assume that a container whose value_type is a std::pair should have
its second member deleted.
2015-01-17 16:22:58 +01:00
Kitware Robot
f8c416f00c CMake Nightly Date Stamp 2015-01-17 00:01:12 -05:00
Brad King
ed4b95e12f Merge topic 'fix-ctest_build-output-processing-regression'
509f2713 ctest_build: Fix logic regression in parent that clips build output
2015-01-16 09:43:46 -05:00
Brad King
8741991e4b Merge branch 'release-3.0' into release 2015-01-16 09:04:02 -05:00
Brad King
9a92734cdd Merge branch 'eclipse-fix-cxx-natures' into release-3.0 2015-01-16 08:55:02 -05:00
André Klitzing
6e6e0c4048 Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068)
Since commit v3.0.0-rc1~335^2~1 (eclipse: Add natures for Eclipse based
on enabled languages, 2013-08-29) CXX projects got only "ccnature", but
Eclipse itself also adds "cnature" when creating C++ projects.  Fix this
by adding both for CXX projects.
2015-01-16 08:54:39 -05:00
Kitware Robot
fb354cc59c CMake Nightly Date Stamp 2015-01-16 00:01:16 -05:00
Brad King
d58396b722 Merge branch 'fix-COMPILE_FEATURES-genex' into release 2015-01-15 09:59:19 -05:00
Brad King
0fcdc57b7b Merge branch 'cpack-PackageMaker-OSX-10.10' into release 2015-01-15 09:59:12 -05:00
Brad King
4ecc392b42 Merge topic 'delete-algorithm'
65b81da4 cmVariableWatch: Use the cmDeleteAll algorithm with for_each.
30d2de9a cmGeneratorExpressionEvaluator: Replace own algorithm with cmDeleteAll.
4a6e795b Use the cmDeleteAll algorithm instead of trivial raw loops.
abb4a678 Add a generic algorithm for deleting items in a container.
2015-01-15 09:54:04 -05:00
Brad King
6418eef222 Merge topic 'fix-COMPILE_FEATURES-genex'
45ec182d Features: Fix the COMPILE_FEATURES genex for unavailable features.
2bead0eb cmMakefile: Rename a method to what it really does.
2015-01-15 09:54:02 -05:00
Brad King
44612e7407 Merge topic 'fix-LOCATION-with-TARGET_OBJECTS'
23f3798c cmTarget: Compute link language of TARGET_OBJECTS with CMP0026 OLD (#15338)
2015-01-15 09:53:59 -05:00
Brad King
fa636e19ce Merge topic 'cpack-PackageMaker-OSX-10.10'
70abf6e7 CPack: Fix PackageMaker internal versioning for OS X 10.10
2015-01-15 09:53:56 -05:00
Brad King
509f2713bf ctest_build: Fix logic regression in parent that clips build output
The sweeping pattern change in commit 238dd2fb (Use insert instead of a
loop in some cases, 2014-11-22) accidentally changed the iterator range
used on the queue in cmCTestBuildHandler::ProcessBuffer.  Instead of
ending at the iterator positioned at the next newline to populate
CurrentProcessingLine, it was changed to go to the end of the queue.
This causes the line to contain newlines and possibly be cut off in the
middle of a line.  Fix this regression by restoring use of the proper
end-of-line position.
2015-01-15 09:32:58 -05:00
Kitware Robot
23c02d2454 CMake Nightly Date Stamp 2015-01-15 00:01:09 -05:00
Brad King
a08a444bab Merge branch 'fix-LOCATION-with-TARGET_OBJECTS' into release 2015-01-14 10:34:10 -05:00
Brad King
46eae52968 Merge branch 'backport-cpack_invalid_cmake_generator' into release 2015-01-14 10:33:30 -05:00
Domen Vrankar
ea916230ef CPack: Avoid crash on invalid CMake generator name (#15308)
Case where CPACK_CMAKE_GENERATOR value is non existent or
or contains multiple words that were not quoted was not
handled and produced a segmentation fault.
2015-01-14 08:38:23 -05:00
Kitware Robot
2ece34516a CMake Nightly Date Stamp 2015-01-14 00:01:16 -05:00
Stephen Kelly
65b81da458 cmVariableWatch: Use the cmDeleteAll algorithm with for_each. 2015-01-13 23:00:17 +01:00
Stephen Kelly
30d2de9aa8 cmGeneratorExpressionEvaluator: Replace own algorithm with cmDeleteAll. 2015-01-13 23:00:17 +01:00
Stephen Kelly
4a6e795b0c Use the cmDeleteAll algorithm instead of trivial raw loops. 2015-01-13 23:00:17 +01:00
Stephen Kelly
abb4a6781f Add a generic algorithm for deleting items in a container.
Specialize for std::map types to delete the second element from
the iterator.  This is not quite general enough that it can
be used everywhere, because CMake inherits from std::map and
creates typedefs with custom comparison functors etc, which
can not use this algorithm.
2015-01-13 23:00:16 +01:00