Commit Graph

17511 Commits

Author SHA1 Message Date
Stephen Kelly 27c6f017a1 Use cmJoin to accumulate string ranges.
Avoid using the std::accumulate algorithm which is designed for
numeric types, not complex types.  It introduces unneccessary
copies.

Initialize variables where they are populated.
2015-02-11 22:57:55 +01:00
Stephen Kelly 4e78ebbdf9 cmAlgorithms: Add a Range container and adaptor method.
This can make a pair of iterators API compatible with the
cmJoin algorithm and other range-based algorithms.

Accept different iterator types in the cmRange adaptor so that
a const and non-const iterator are accepted.
2015-02-11 22:57:55 +01:00
Stephen Kelly 8910224950 Replace common loop pattern with cmJoin 2015-02-11 22:57:55 +01:00
Stephen Kelly 7b8725bf84 Convert loops populating maybe-empty content into the common pattern. 2015-02-11 22:57:53 +01:00
Stephen Kelly 7ee56f0399 Convert loops into the commonly used pattern. 2015-02-11 22:57:41 +01:00
Stephen Kelly 0a4e5674ec cmMacroCommand: Remove counting variable.
Start iteration at correct starting point directly.
2015-02-11 22:57:38 +01:00
Stephen Kelly 11ecc31d0a cmMacroCommand: Execute loop only if it has an effect. 2015-02-11 20:51:06 +01:00
Stephen Kelly f95543f8a6 cmMacroCommand: Extract iteration starting point. 2015-02-11 20:51:06 +01:00
Stephen Kelly 9fe8f49353 cmMacroCommand: Replace a loop with cmJoin. 2015-02-11 20:51:06 +01:00
Stephen Kelly ac26d4b343 Split cmAlgorithms into a separate header file. 2015-02-10 22:14:18 +01:00
Brad King cbffbf7437 Merge topic 'cmStandardIncludes-cleanup'
af65da0a cmStandardIncludes: Remove list include.
e848cc50 cmStandardIncludes: Remove deque include.
5fea6898 cmStandardIncludes: Remove some VS6 workarounds.
2015-02-10 12:56:08 -05:00
Brad King e2619c13f7 Merge topic 'use-algorithms'
d8639733 cmSystemTools: Remove unnecessary comparison.
803317aa cmSystemTools: Early return if size makes later comparison false.
11093a03 Replace temporary bool by inlining warning condition.
6cd2ee95 Replace loop with member algorithm.
94e993a0 cmComputeLinkDepends: Remove temporary iterator copy.
69dbe51b Replace loop with algorithm.
683fafea Replace a loop with std::transform.
63f584b6 Replace while loop with member insert.
74c4d9d2 Take a size check outside of an inner loop.
71d47115 Use insert member instead of back_inserter.
39622c99 Convert while loop to member insert.
a7fcc148 Convert loop to algorithm.
d46c4f07 Extract a prefix variable from loop.
d59913f0 Take computation out of loop.
3f3db744 cmMakefile: Remove ExpandSourceListArguments.
bd990c80 Remove use of ExpandSourceListArguments.
...
2015-02-10 09:37:57 -05:00
Brad King c548ddc172 Merge topic 'makefile-progress-improvements'
63668954 Help: Add notes for topic 'makefile-progress-improvements'
ae775fe8 Makefile: Change link step message color to bold green
7bb50e4a Makefile: Add progress to link step messages
c6ada827 Makefile: Print all color escape sequences before newline
8521fdf5 Makefile: Fix output during parallel builds (#12991)
69ac6d27 bootstrap: Enable color Makefile output
2015-02-10 09:37:55 -05:00
Brad King 1d6f4b6fcc Merge topic 'try_compile-quote-module-path'
220c427e try_compile: Quote the content of CMAKE_MODULE_PATH to allow for spaces
2015-02-10 09:37:53 -05:00
Brad King db9a2e8966 Merge topic 'no-global-setlocale'
0f870234 Merge branch 'backport-no-global-setlocale' into no-global-setlocale
cd408d93 Add setlocale() calls around use of libarchive APIs (#14934, #15377)
87be2e14 Do not call setlocale() globally in CMake applications (#15377)
2015-02-10 09:37:50 -05:00
Brad King 06e527b36c Merge topic 'xcode-flags-per-language'
d2fe4c42 cmGlobalXCodeGenerator: Rename variable 'lang' => 'llang'
de63ff48 Xcode: Generate Intel Fortran compiler flags in project files
9924486f Xcode: Refactor generation of per-language compiler flags
2015-02-10 09:37:46 -05:00
Kitware Robot 7ab4fb5760 CMake Nightly Date Stamp 2015-02-10 00:01:07 -05:00
Nils Gladitz 220c427e84 try_compile: Quote the content of CMAKE_MODULE_PATH to allow for spaces 2015-02-09 10:51:22 +01:00
Kitware Robot 9bbfe76d2c CMake Nightly Date Stamp 2015-02-09 00:01:09 -05:00
Kitware Robot d30036cfad CMake Nightly Date Stamp 2015-02-08 00:01:08 -05:00
Kitware Robot 8b7e5e5996 CMake Nightly Date Stamp 2015-02-07 00:01:09 -05:00
Brad King ae775fe804 Makefile: Change link step message color to bold green
Avoid displaying red messages when no error has occurred.
2015-02-06 19:07:56 -05:00
Brad King 7bb50e4a31 Makefile: Add progress to link step messages 2015-02-06 19:07:24 -05:00
Brad King c6ada8275b Makefile: Print all color escape sequences before newline
Ensure that the escape sequences do not leak across lines.
2015-02-06 16:41:51 -05:00
Brad King 0f870234fe Merge branch 'backport-no-global-setlocale' into no-global-setlocale
Resolve conflict in Source/CMakeLists.txt by taking both changes.
2015-02-06 13:35:21 -05:00
Brad King cd408d93fd Add setlocale() calls around use of libarchive APIs (#14934, #15377)
The libarchive APIs use nl_langinfo(CODESET) for iconv so they need the
locale to be set for LC_CTYPE.  However, the rest of CMake does not
define any behavior for non-ASCII character classification/conversion so
we do not want to setlocale() globally.  Add a RAII class to save, set,
and restore the locale around calls to libarchive APIs.

Inspired-by: Clinton Stimpson <clinton@elemtech.com>
2015-02-06 13:32:57 -05:00
Brad King 87be2e1427 Do not call setlocale() globally in CMake applications (#15377)
Revert the changes made by commit v3.1.0-rc1~406^2~1 (Encoding: Add
setlocale() to applications, 2014-05-30) and commit v3.1.0-rc1~406^2
(Encoding: Change to only set LC_CTYPE, 2014-06-11), and other setlocale
calls added later in their spirit.  CMake has not been taught how to
deal with non-C locales everywhere.  We do not define any functionality
for character conversions for non-ASCII strings.  Another solution will
be needed to address the original problem motivating addition of
setlocale() calls.
2015-02-06 13:32:26 -05:00
Stephen Kelly af65da0aa9 cmStandardIncludes: Remove list include.
Include it only where used.
2015-02-06 19:04:53 +01:00
Stephen Kelly e848cc5074 cmStandardIncludes: Remove deque include.
Include it only where used.
2015-02-06 19:04:53 +01:00
Stephen Kelly 5fea689834 cmStandardIncludes: Remove some VS6 workarounds.
Added in commit v2.6.0~2824 (COMP: Fix warnings in system headers
on VS6., 2006-08-29), but no longer needed.
2015-02-06 19:04:53 +01:00
Stephen Kelly d8639733a4 cmSystemTools: Remove unnecessary comparison.
We already know the string is uppercase.
2015-02-06 19:04:10 +01:00
Stephen Kelly 803317aab6 cmSystemTools: Early return if size makes later comparison false. 2015-02-06 19:04:10 +01:00
Stephen Kelly 11093a03e0 Replace temporary bool by inlining warning condition. 2015-02-06 19:04:10 +01:00
Stephen Kelly 6cd2ee9524 Replace loop with member algorithm. 2015-02-06 19:04:10 +01:00
Stephen Kelly 94e993a0c1 cmComputeLinkDepends: Remove temporary iterator copy. 2015-02-06 19:04:10 +01:00
Stephen Kelly 69dbe51b08 Replace loop with algorithm. 2015-02-06 19:04:10 +01:00
Stephen Kelly 683fafea08 Replace a loop with std::transform. 2015-02-06 19:04:09 +01:00
Stephen Kelly 63f584b618 Replace while loop with member insert. 2015-02-06 19:04:09 +01:00
Stephen Kelly 74c4d9d27a Take a size check outside of an inner loop. 2015-02-06 19:04:09 +01:00
Stephen Kelly 71d47115d0 Use insert member instead of back_inserter. 2015-02-06 19:04:09 +01:00
Stephen Kelly 39622c995c Convert while loop to member insert. 2015-02-06 19:04:09 +01:00
Stephen Kelly a7fcc148bd Convert loop to algorithm. 2015-02-06 19:04:09 +01:00
Stephen Kelly d46c4f0727 Extract a prefix variable from loop. 2015-02-06 19:04:08 +01:00
Stephen Kelly d59913f001 Take computation out of loop. 2015-02-06 19:04:08 +01:00
Brad King d2fe4c4203 cmGlobalXCodeGenerator: Rename variable 'lang' => 'llang'
In CreateBuildSettings the variable holds the linker language.
Use a more distinctive variable name.
2015-02-06 11:46:03 -05:00
Brad King de63ff489d Xcode: Generate Intel Fortran compiler flags in project files 2015-02-06 11:45:28 -05:00
Brad King 9924486f8a Xcode: Refactor generation of per-language compiler flags 2015-02-06 11:44:41 -05:00
Brad King 8521fdf56e Makefile: Fix output during parallel builds (#12991)
Replace use of separate "cmake -E cmake_progress_report" and "cmake -E
cmake_echo_color" commands to report the progress and message portions
of build output lines with --progress-* options to the latter to print
everything with a single command.  The line buffering of the stdout FILE
stream should cause the whole line to be printed with one atomic write.
This will avoid inter-mixing of line-wise messages from different
processes during a parallel build.
2015-02-06 08:36:51 -05:00
Kitware Robot 3f73531d4e CMake Nightly Date Stamp 2015-02-06 00:01:16 -05:00
Brad King 69ac6d2755 bootstrap: Enable color Makefile output
Build the needed infrastructure during bootstrap in order to allow
"cmake -E cmake_echo_color" to be used unconditionally during
generation.
2015-02-05 16:44:56 -05:00