Commit Graph

27359 Commits

Author SHA1 Message Date
Stephen Kelly abfca97525 Move loop inside of condition.
The loop is only executed if the condition is true.
2015-02-11 22:58:09 +01:00
Stephen Kelly 0b61b86df8 Handle last element outside of the loop.
There is no point in checking on each loop iteration whether
it is the last element.
2015-02-11 22:58:08 +01:00
Stephen Kelly e21f7829a2 cmTarget: Use a sorted vector in place of a set.
The vector has a more easy-to-use API.

Join the string with cmJoin, and avoid erasing from the container
in the loop.
2015-02-11 22:58:08 +01:00
Stephen Kelly 559dc15589 cmSet: Replace loop with cmJoin. 2015-02-11 22:58:08 +01:00
Stephen Kelly 0ea719326e cmFindBase: Replace loop with cmJoin on range. 2015-02-11 22:58:08 +01:00
Stephen Kelly 9380e85f86 Convert loops to cmJoin algorithm with cmRange. 2015-02-11 22:58:04 +01:00
Stephen Kelly bb10012fea cmStringCommand: Accumulate with cmJoin and range adaptors. 2015-02-11 22:57:56 +01:00
Stephen Kelly 0c12f1ea0d cmAlgorithms: Add a range adaptor and API for adjusting a range. 2015-02-11 22:57:55 +01:00
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
Brad King f30022eb07 install: Allow generator expressions in TARGETS DESTINATION (#14317)
This will allow per-config destinations for targets in EXPORT sets.
Using multiple install(TARGETS) with separate CONFIGURATIONS is
rejected as a target appearing more than once in an export set.
Now instead one can write

 install(TARGETS foo EXPORT exp DESTINATION lib/$<CONFIG>)

to get a single logical membership of the target in the export set
while still having a per-config destination.
2015-02-11 15:15:33 -05:00
Brad King 7607c3d16a cmInstallGenerator: Pass destination explicitly to AddInstallRule
This will allow specific invocations to transform the destination
before AddInstallRule uses it.
2015-02-11 15:14:01 -05:00
Brad King ebd556caa9 cmInstallGenerator: Fix check for absolute install destinations
In AddInstallRule, check for absolute install destinations before
converting to the absolute install destination.  Previously this
worked only by accident because literal "${CMAKE_INSTALL_PREFIX}"
looks like a relative path.
2015-02-11 15:13:57 -05:00
Brad King 290ca8e2d0 cmInstallGenerator: Refactor computation of absolute install dest
Replace the GetInstallDestination method, which looked up the
Destination ivar, with a new ConvertToAbsoluteDestination method that
takes the nominal destination as an argument.  Update call sites
accordingly.  This will allow some clients to transform the install
destination before calling the method.
2015-02-11 15:12:16 -05:00
Brad King f99991db88 cmInstallGenerator: Move GetDestination to subclasses that need it
The method is used only for EXPORT and TARGET install destinations.
While at it, make it return a std::string by reference instead of a
"const char*".
2015-02-11 15:05:57 -05: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
Brad King da92cdab52 Merge branch 'cpack_rpm_mulit_prefix_fixup' into release 2015-02-11 11:08:37 -05:00
Brad King a4568ca597 Merge branch 'FindCoin3D-drop-link' into release 2015-02-11 11:08:32 -05:00
Brad King e2a8984c06 FindCoin3D: Drop link to project homepage
The project has moved from <http://www.coin3d.org/> to
<https://bitbucket.org/Coin3D/coin/wiki/Home>.  Simply drop the
out-dated link.  Few find modules have links to the project sites.
Anyone looking to use a given find module likely already knows about the
project it finds and can use a search engine to find its homepage.
2015-02-11 11:05:55 -05:00
Brad King bd6389f7bc CMake 3.1.3 2015-02-11 10:23:38 -05:00
Brad King f00829a938 Merge branch 'release' 2015-02-11 10:22:08 -05:00
Brad King d891b971b7 Merge branch 'release-3.1' 2015-02-11 10:22:04 -05:00
Brad King 108e94ecf1 Merge topic 'export-interface-source-files'
f7e33820 Add release notes for export-interface-source-files.
6da65b39 Allow export of targets with INTERFACE_SOURCES.
736bcb96 Tests: Move IfacePaths test stderr files.
d9f8390d Tests: Run IfacePaths tests with a parameter.
cc152094 Tests: Split part of include_directories test to a generic location.
2015-02-11 09:59:30 -05:00
Brad King c1772e5fb2 Merge topic 'fix_timeout_docs'
56cb4a6c Help: Fix variable reference in TIMEOUT test property docs
2015-02-11 09:59:28 -05:00
Brad King 79ea7e6d08 Merge topic 'BundleUtilities-install_name_tool-exit'
a27c13f4 BundleUtilities: Teach fixup_bundle to check install_name_tool result
2015-02-11 09:59:26 -05:00
Brad King f3c0c61403 Merge topic 'bootstrap-sphinx-qthelp'
85fd62ee bootstrap: Add --sphinx-qthelp option to enable qthelp doc generation
2015-02-11 09:59:24 -05:00
Brad King dcc5de9c4b Merge topic 'FindRuby-windows-x64'
e5ef9271 FindRuby: Fix finding 64-bit Ruby on Windows
2015-02-11 09:59:22 -05:00
Brad King 0e6af85263 Merge topic 'try_compile-shorter-names'
f3e9eeed try_compile: Use shorter test executable name with consistent length
2015-02-11 09:59:20 -05:00
Brad King 939167a65c Merge topic 'makefile-missing-comment'
eeb2831b Makefile: Fix regression in target-bound custom command COMMENT output
2015-02-11 09:59:18 -05:00
Domen Vrankar be36bfd65d CPackRPM: Do not run file(GLOB_RECURSE) without CMP0009 set to NEW
The file(GLOB_RECURSE) call added by commit 3ec02547 (CPackRPM: Allow
multiple path relocation prefixes for one package, 2015-01-21) should
not follow directory symlinks, so make sure CMP0009 is set to NEW.
2015-02-11 09:56:27 -05:00
Kitware Robot 1979330188 CMake Nightly Date Stamp 2015-02-11 00:01:09 -05:00
Stephen Kelly f7e33820b6 Add release notes for export-interface-source-files. 2015-02-11 00:51:35 +01:00
Stephen Kelly 6da65b3907 Allow export of targets with INTERFACE_SOURCES.
Use the same rules for paths in source and binary dirs in
installed INTERFACE_SOURCES as are used for
INTERFACE_INCLUDE_DIRECTORIES.
2015-02-11 00:51:34 +01:00
Stephen Kelly 736bcb9664 Tests: Move IfacePaths test stderr files.
Rename the files with a property-specific name, so that additional
properties can be easily tested.
2015-02-11 00:51:30 +01:00
Stephen Kelly ac26d4b343 Split cmAlgorithms into a separate header file. 2015-02-10 22:14:18 +01:00
Brad King 0a95c5ce2e Merge branch 'fix_timeout_docs' into release 2015-02-10 12:59:32 -05:00
Zack Galbreath 56cb4a6c3a Help: Fix variable reference in TIMEOUT test property docs
Link to 'CTEST_TEST_TIMEOUT', not 'CTEST_TESTING_TIMEOUT'.
2015-02-10 12:58:01 -05: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
Ruslan Baratov a27c13f4ca BundleUtilities: Teach fixup_bundle to check install_name_tool result
Fail explicitly if install_name_tool fails to make an update we need.
2015-02-10 11:00:27 -05:00
Brad King f3e9eeedf4 try_compile: Use shorter test executable name with consistent length
Since commit v2.8.8~176^2 (try_compile: Use random executable file name,
2012-02-13) the length of the test executable name in generated
try_compile projects has been longer and unpredictable.  With Visual
Studio on windows, the tools try to create paths like:

 CMakeFiles/CMakeTmp/$tgt.dir/Debug/$tgt.tlog/$tgt.lastbuildstate

With the target name repeated up to 3 times, we must make it short and
of consistent length to avoid overrunning the 260 character limit
imposed by VS tools.
2015-02-10 10:28:41 -05:00
Brad King 2fd44b082b Merge topic 'test-RunCMake-updates'
c0d8e715 RunCMake: Allow specifying the stderr file for a test.
68d29f51 RunCMake: Allow specifying the directory to run tests in.
1c3918ff RunCMake: Remove unneeded files.
2015-02-10 10:09:47 -05:00
Brad King f3a6e0cb6a Merge branch 'bootstrap-sphinx-qthelp' into release 2015-02-10 10:07:35 -05:00
Nuno Sucena Almeida 85fd62ee91 bootstrap: Add --sphinx-qthelp option to enable qthelp doc generation 2015-02-10 10:03:10 -05:00
Michael Smith e5ef9271a1 FindRuby: Fix finding 64-bit Ruby on Windows
Ruby 2.0.0 and 2.1.5 have 64-bit binaries for Windows, with "x64-"
prefix.
2015-02-10 09:54:21 -05:00