Commit Graph

17648 Commits

Author SHA1 Message Date
Stephen Kelly ba959934a6 cmAlgorithms: Make cmRemoveDuplicates work with more containers.
Remove the accidental requirement that the input range must be a
std::vector.
2015-02-24 09:16:02 -05:00
Stephen Kelly cae45df772 cmAlgorithms: Rename template argument to RemoveN. 2015-02-24 09:16:01 -05:00
Stephen Kelly b917f4c003 cmAlgorithms: Relax cmRemoveN requirement to FwdIter.
cmRotate already requires only FwdIter.
2015-02-24 09:16:01 -05:00
Stephen Kelly bbc1a9788d cmAlgorithms: Add a size() to cmRange.
size() is already used by cmRemoveDuplicates, which is designed to
accept a cmRange.
2015-02-24 09:16:01 -05:00
Stephen Kelly 47a3e22ea5 cmAlgorithms: Rename template type in cmDeleteAll algorithm.
It may be any range, not only a container.
2015-02-23 20:19:35 +01:00
Stephen Kelly cb75eec0b4 cmAlgorithms: Add const to const objects. 2015-02-23 20:19:35 +01:00
Brad King cb16c7844d Merge topic 'wix-shortcut-properties'
6cc01c14 CPackWIX: Add release notes for the wix-shortcut-properties topic.
135febf0 CPackWIX: Enhance CMake CPack WIX generated installer.
e6731f48 CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property.
279605f5 CPackWIX: Add installed file properties for the creation of shortcuts.
53d7daff CPackWIX: Refactor start menu and desktop shortcut creation.
dc0f3fb4 CPackWIX: Explicitly list CPack WIX headers for IDE convenience.
2015-02-23 11:06:07 -05:00
Brad King 9627c5238a Merge topic 'if-optimize'
51f8de81 if(): avoid one needless string compare for all if() statements
2015-02-23 10:26:48 -05:00
Brad King 6dc9a627b6 Merge topic 'minor-cleanups'
c021f59c cmMakefile: Store macro list in a vector not in a map.
2d130896 cmMakefile: Fix list of macros generation.
f1969234 cmFunctionCommand: Remove ineffectual code.
1116698a cmTarget: Don't needlessly clear vectors in the destructor.
2015-02-23 10:26:42 -05:00
Brad King cc3611023d Merge topic 'use-algorithms'
bb9d71b4 Replace loops with algorithms.
4afe6c26 cmAlgorithms: Add cmReverseRange adaptor.
a3a0a8c2 cmAlgorithms: Add cmFindNot algorithm.
8c74a41f cmRST: Replace two erase with a rotate and larger erase.
61fe1919 cmAlgorithms: Update concept requirement to FowardIterator
09d6125b cmAlgorithms: Move cmRotate out of 'implementation detail' namespace.
8ed6ecac cmRST: Move two algorithms beside each other.
dfe49c20 cmRST: Use std::min where appropriate.
21b0654a cmGlobalGenerator: Convert set insert algorithm to vector algorithms.
416df93a Convert some raw loops to cmWrap.
37b88d34 cmAlgorithms: Add cmWrap.
a2818093 Use cmJoin where possible.
76207b08 cmCacheManager: Replace loop with algorithm.
60c3bb73 cmGlobalGenerator: Replace loop with algorithm.
05fec779 cmTarget: Port loop to algorithm.
9c225767 cmGlobalGenerator: Replace set::insert algorithm with cmRemoveDuplicates.
...
2015-02-23 10:26:38 -05:00
Brad King a089c1c903 Merge topic 'cpack-bundle-codesign-output'
7b582d15 CPack: Print output from codesign if signing fails
2015-02-23 10:26:34 -05:00
Brad King 1eb192905d Merge topic 'private-FindJsonCpp'
a41d621d bootstrap: Add --(no-)system-jsoncpp options
a5768442 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
2015-02-23 10:26:30 -05:00
Kitware Robot 6adff76720 CMake Nightly Date Stamp 2015-02-23 00:01:08 -05:00
Rolf Eike Beer 51f8de8102 if(): avoid one needless string compare for all if() statements
If it's known that it is an "if" it can't be an "elseif".
2015-02-22 13:48:30 +01:00
Kitware Robot 5cf629c3bc CMake Nightly Date Stamp 2015-02-22 00:01:09 -05:00
Nils Gladitz e6731f486e CPackWIX: Add new CPACK_STARTUP_SHORTCUTS property. 2015-02-21 18:07:36 +01:00
Nils Gladitz 279605f560 CPackWIX: Add installed file properties for the creation of shortcuts. 2015-02-21 17:30:31 +01:00
Nils Gladitz 53d7daffac CPackWIX: Refactor start menu and desktop shortcut creation. 2015-02-21 12:38:14 +01:00
Stephen Kelly c021f59c1f cmMakefile: Store macro list in a vector not in a map.
The signature was computed (incorrectly) and stored as the map
value, but never used.  Remove it now.
2015-02-21 11:25:47 +01:00
Stephen Kelly 2d130896a0 cmMakefile: Fix list of macros generation.
It was broken by commit 7ee56f03 (Convert loops into the commonly
used pattern., 2015-01-17).
2015-02-21 11:25:26 +01:00
Stephen Kelly f19692342b cmFunctionCommand: Remove ineffectual code.
The name variable is never used.
2015-02-21 11:02:03 +01:00
Stephen Kelly 1116698a89 cmTarget: Don't needlessly clear vectors in the destructor.
This will be done anyway for us.
2015-02-21 11:00:14 +01:00
Kitware Robot 8804c3e0e4 CMake Nightly Date Stamp 2015-02-21 00:01:16 -05:00
Stephen Kelly bb9d71b4fe Replace loops with algorithms. 2015-02-20 21:36:58 +01:00
Stephen Kelly 4afe6c26c6 cmAlgorithms: Add cmReverseRange adaptor.
Use it to implement list(REVERSE).
2015-02-20 21:36:58 +01:00
Stephen Kelly a3a0a8c222 cmAlgorithms: Add cmFindNot algorithm. 2015-02-20 21:36:58 +01:00
Stephen Kelly 8c74a41ff3 cmRST: Replace two erase with a rotate and larger erase. 2015-02-20 21:36:58 +01:00
Stephen Kelly 61fe1919de cmAlgorithms: Update concept requirement to FowardIterator 2015-02-20 21:36:58 +01:00
Stephen Kelly 09d6125bfe cmAlgorithms: Move cmRotate out of 'implementation detail' namespace.
This should be generally usable in cmake.
2015-02-20 21:36:58 +01:00
Stephen Kelly 8ed6ecac3f cmRST: Move two algorithms beside each other. 2015-02-20 21:36:58 +01:00
Stephen Kelly dfe49c2056 cmRST: Use std::min where appropriate. 2015-02-20 21:36:58 +01:00
Stephen Kelly 21b0654ace cmGlobalGenerator: Convert set insert algorithm to vector algorithms.
Adjust test for new error output.
2015-02-20 21:36:57 +01:00
Stephen Kelly 416df93aa9 Convert some raw loops to cmWrap. 2015-02-20 21:36:57 +01:00
Stephen Kelly 37b88d348a cmAlgorithms: Add cmWrap.
Port some existing cmJoin to use it.

cmJoin is cumbersome to use in cases where the objective is to
somehow 'quote' each item and then join it with a separator.  In that
case, the joiner string is harder to read and reason about.  cmWrap
aims to solve that.

Provide an overload taking char wrappers to simplify the case
of surrounding every element in quotes without needing to escape
the quote character.
2015-02-20 21:35:58 +01:00
Stephen Kelly a281809384 Use cmJoin where possible. 2015-02-20 21:26:18 +01:00
Stephen Kelly 76207b0861 cmCacheManager: Replace loop with algorithm. 2015-02-20 21:26:18 +01:00
Stephen Kelly 60c3bb73e3 cmGlobalGenerator: Replace loop with algorithm. 2015-02-20 21:26:18 +01:00
Stephen Kelly 05fec779d3 cmTarget: Port loop to algorithm. 2015-02-20 21:26:17 +01:00
Nils Gladitz dc0f3fb44f CPackWIX: Explicitly list CPack WIX headers for IDE convenience. 2015-02-20 17:51:55 +01:00
André Klitzing 7b582d15ff CPack: Print output from codesign if signing fails 2015-02-20 08:17:53 -07:00
Brad King a576844263 FindJsonCpp: Drop new module due to upstream jsoncpp providing package
Since jsoncpp 0.7.0 (2014-11-20) the upstream may provide a CMake
package configuration file such that find_package(jsoncpp) will find a
jsoncppConfig.cmake file.  In order to avoid conflicting with this
(especially on case-insensitive filesystems), and since we always prefer
projects to provide package config files (that they maintain), it is
better to not provide FindJsonCpp publicly.

Move FindJsonCpp into a private source directory that is not installed
so that we can still use it for building CMake itself.

Reported-by: Ryan Pavlik <ryan.pavlik@gmail.com>
2015-02-20 08:22:02 -05:00
Brad King c4c570f9cc Merge topic 'find-command-prefix-from-PATH'
ffc06c12 Teach find_(library|file|path) to get prefixes from PATH (#15370)
2015-02-20 08:10:50 -05:00
Brad King b7351d8e14 Merge topic 'cmake-gui-reset-generator-toolset-and-platform'
1ade687d cmake-gui: Reset generator platform and toolset on configure (#15411)
2015-02-20 08:10:48 -05:00
Kitware Robot 14713eebfb CMake Nightly Date Stamp 2015-02-20 00:01:16 -05:00
Brad King ffc06c1239 Teach find_(library|file|path) to get prefixes from PATH (#15370)
The find_package command already knows how to compute installation
prefixes from PATH.  Use the same approach to establish prefixes for
find_library, find_file, and find_path to use to look in directories
like "<prefix>/lib[/<arch>]" and "<prefix>/include" for libraries and
headers.  This will reduce the amount of configuration end users need to
do to establish a work environment rooted under a specific prefix.
2015-02-19 10:03:17 -05:00
Brad King 1ade687d8d cmake-gui: Reset generator platform and toolset on configure (#15411)
At the start of each configure step we already reset the generator
selection (CMAKE_GENERATOR) to match that loaded for the current
project.  Add missing code to reset the generator platform and toolset
(CMAKE_GENERATOR_PLATFORM and CMAKE_GENERATOR_TOOLSET) also so that they
do not leak across projects.
2015-02-19 09:14:38 -05:00
Kitware Robot f7fc99cec6 CMake Nightly Date Stamp 2015-02-19 00:01:10 -05:00
Stephen Kelly 9c22576787 cmGlobalGenerator: Replace set::insert algorithm with cmRemoveDuplicates. 2015-02-19 00:59:19 +01:00
Stephen Kelly ee5bc006eb cmGeneratorTarget: Replace set insert algorithm with cmRemoveDuplicates. 2015-02-19 00:59:19 +01:00
Stephen Kelly b3a0c6e08f cmLocalGenerator: Convert loop to algorithm. 2015-02-19 00:59:19 +01:00