summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Add option to build CMake against a system jsoncppBrad King2015-01-201-1/+1
| | | | Create a CMAKE_USE_SYSTEM_JSONCPP option.
* Merge topic 'cmake-labels-json'Brad King2015-01-202-2/+28
|\ | | | | | | | | | | | | 0238d0c3 cmake: Generate an internal 'Labels.json' file next to 'Labels.txt' bda4f0b6 jsoncpp: Add headers to help CMake include in-source jsoncpp headers a02fbec5 jsoncpp: Drop doxygen comments that cause Clang warnings
| * cmake: Generate an internal 'Labels.json' file next to 'Labels.txt'Brad King2015-01-202-2/+28
| | | | | | | | | | | | | | | | | | In each internal target directory we generate a "Labels.txt" file containing labels for that target and its sources, but it uses an internal format. In order to make the list of labels easier to publish, use a json format and call it "Labels.json". Since we now use jsoncpp headers, link CMakeLib to the jsoncpp library.
* | Merge topic 'cmake-E-tar-mtime'Brad King2015-01-208-7/+95
|\ \ | | | | | | | | | | | | | | | 3a60c899 cmake: Teach "-E tar" command a "--mtime=" option 90f9c427 cmake: Teach "-E tar" to report file name on failure to read from disk
| * | cmake: Teach "-E tar" command a "--mtime=" optionBrad King2015-01-198-6/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | cmake: Teach "-E tar" to report file name on failure to read from diskBrad King2015-01-191-1/+3
| |/ | | | | | | | | | | 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.
* | Merge topic 'xcode-target-sort'Brad King2015-01-202-14/+54
|\ \ | | | | | | | | | | | | | | | 9e0176e2 Xcode: Sort targets deterministically and with ALL_BUILD first (#15346) c0ff542c Xcode: Fix early termination on per-config source file error
| * | Xcode: Sort targets deterministically and with ALL_BUILD first (#15346)Ben Boeckel2015-01-191-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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").
| * | Xcode: Fix early termination on per-config source file errorBrad King2015-01-192-13/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | CMake Nightly Date StampKitware Robot2015-01-201-1/+1
| |/ |/|
* | Merge topic 'consistent-empty-method'Brad King2015-01-1981-310/+310
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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().
| * | Replace foo.length() pattern with !foo.empty().Stephen Kelly2015-01-185-8/+8
| | |
| * | Replace 'foo.length() >= 1' pattern with !foo.empty()Stephen Kelly2015-01-182-2/+2
| | |
| * | Replace 'foo.length() > 0' pattern with !foo.empty().Stephen Kelly2015-01-185-8/+8
| | |
| * | Replace 'foo.length() == 0' pattern with foo.empty().Stephen Kelly2015-01-181-1/+1
| | |
| * | Replace foo.size() pattern with !foo.empty().Stephen Kelly2015-01-1842-114/+114
| | |
| * | Replace !foo.size() pattern with foo.empty().Stephen Kelly2015-01-187-13/+13
| | |
| * | cmListCommand: Use empty() and expand whitespace.Stephen Kelly2015-01-181-1/+1
| | |
| * | Replace 'foo.size() != 0' pattern with !foo.empty().Stephen Kelly2015-01-186-8/+8
| | |
| * | Replace 'foo.size() == 0' pattern with foo.empty().Stephen Kelly2015-01-1835-72/+72
| | |
| * | Replace 'foo.size() > 0' pattern with !foo.empty().Stephen Kelly2015-01-1832-83/+83
| | |
* | | Merge topic 'use-member-insert'Brad King2015-01-196-36/+13
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | cmakemain: Initialize vector content with iterators directly.Stephen Kelly2015-01-181-5/+1
| | | |
| * | | cmakemain: Use member insert in command line handling code.Stephen Kelly2015-01-181-4/+2
| | | |
| * | | cmListCommand: Replace loop with member algorithm.Stephen Kelly2015-01-181-7/+3
| | | |
| * | | Convert raw loops to set member insert.Stephen Kelly2015-01-182-10/+3
| | | |
| * | | Convert raw loops to vector member insert.Stephen Kelly2015-01-182-10/+4
| |/ /
* | | Merge topic 'delete-algorithm'Brad King2015-01-194-25/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | 681d965d Use the cmDeleteAll algorithm for types derived from std::map. 4dc0c488 cmDeleteAll: Generalize deletion specialization for map types.
| * | | Use the cmDeleteAll algorithm for types derived from std::map.Stephen Kelly2015-01-173-21/+4
| | | |
| * | | cmDeleteAll: Generalize deletion specialization for map types.Stephen Kelly2015-01-171-4/+17
| | | | | | | | | | | | | | | | | | | | Assume that a container whose value_type is a std::pair should have its second member deleted.
* | | | Merge topic 'eclipse-fix-cxx-natures'Brad King2015-01-191-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 6e6e0c40 Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068)
| * | | | Eclipse: Add org.eclipse.cdt.core.cnature to CXX projects (#15068)André Klitzing2015-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | CMake Nightly Date StampKitware Robot2015-01-191-1/+1
| |_|/ / |/| | |
* | | | CMake Nightly Date StampKitware Robot2015-01-181-1/+1
| |/ / |/| |
* | | CMake Nightly Date StampKitware Robot2015-01-171-1/+1
| | |
* | | Merge topic 'fix-ctest_build-output-processing-regression'Brad King2015-01-161-1/+1
|\ \ \ | | | | | | | | | | | | | | | | 509f2713 ctest_build: Fix logic regression in parent that clips build output
| * | | ctest_build: Fix logic regression in parent that clips build outputBrad King2015-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | CMake Nightly Date StampKitware Robot2015-01-161-1/+1
| | | |
* | | | Merge topic 'delete-algorithm'Brad King2015-01-1520-208/+68
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | cmVariableWatch: Use the cmDeleteAll algorithm with for_each.Stephen Kelly2015-01-131-13/+8
| | | | |
| * | | | cmGeneratorExpressionEvaluator: Replace own algorithm with cmDeleteAll.Stephen Kelly2015-01-131-24/+3
| | | | |
| * | | | Use the cmDeleteAll algorithm instead of trivial raw loops.Stephen Kelly2015-01-1317-171/+30
| | | | |
| * | | | Add a generic algorithm for deleting items in a container.Stephen Kelly2015-01-131-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'fix-COMPILE_FEATURES-genex'Brad King2015-01-153-9/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45ec182d Features: Fix the COMPILE_FEATURES genex for unavailable features. 2bead0eb cmMakefile: Rename a method to what it really does.
| * | | | | Features: Fix the COMPILE_FEATURES genex for unavailable features.Stephen Kelly2015-01-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the genex tested only for CMake knowledge of the feature, but not compiler knowledge of the feature.
| * | | | | cmMakefile: Rename a method to what it really does.Stephen Kelly2015-01-123-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | The method does not test availability of compile features.
* | | | | | Merge topic 'fix-LOCATION-with-TARGET_OBJECTS'Brad King2015-01-151-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 23f3798c cmTarget: Compute link language of TARGET_OBJECTS with CMP0026 OLD (#15338)
| * | | | | | cmTarget: Compute link language of TARGET_OBJECTS with CMP0026 OLD (#15338)Stephen Kelly2015-01-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v3.1.0-rc1~297^2~5 (cmTarget: Drop 'head' argument from GetSourceFiles, 2014-07-10) exposed a dormant bug in source file computation, causing the test case to regress. After that commit, the source file computation and caching finds an existing container of source files. Prior to that patch, the GetSourceFiles method was called with either a null pointer for the head cmTarget, or it was called with the this pointer. The processSources method is eventually called, which normalizes the difference between the null pointer and the this pointer for the head target. However, the cache key depends on the actual pre-normalized pointer. The change in that commit caused the entry to be found in the cache where it was not before, which resulted in incorrect behavior. Prior to that commit, the test case also fails if the GetSourceFiles overload taking a vector<cmSourceFile*> is changed to normalize the head target at the beginning of the method: cmTarget const* head = head_ ? head_ : this; Such a construct was correctly used in other locations where similar caching was in place, before being removed in commit v3.1.0-rc1~310^2~25 (cmTarget: Remove 'head' argument from GetLinkInformation, 2014-06-12), but is not neccessary anymore. Commit v3.1.0-rc1~674^2~2 (cmTarget: Cache the cmSourceFiles in GetSourceFiles., 2014-04-05) introduced the caching, but fails the test case for an unrelated reason. That unrelated error was introduced in commit v3.1.0-rc1~688^2~5 (cmTarget: Allow any generator expression in SOURCES property., 2014-03-18) and fixed in commit v3.1.0-rc1~561^2~1 (cmTarget: Fix listing of source files at configure-time., 2014-04-13). All commits which fail the test case in the testable way do so when such a cached version of the source files is found and returned at generate time. In the test case, the cached content is populated at configure-time through the use of the deprecated LOCATION property with CMP0026 OLD. The cached content is an empty container for the bar target in the test case, because its source file 'foo.cpp.o' is not known until generate-time. That means that no source files are available to compute the link language and the reported error is issued. The actual problem is that the SourceFilesMap should be cleared after configure time by cmTarget::ClearLinkMaps. Clear it there now.
| * | | | | | Merge branch 'fix-empty-target-property-queries' into releaseBrad King2015-01-111-1/+4
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'kwsys-Terminal-xterm-termite' into releaseBrad King2015-01-081-0/+1
| |\ \ \ \ \ \ \