f30022eb install: Allow generator expressions in TARGETS DESTINATION (#14317)
7607c3d1 cmInstallGenerator: Pass destination explicitly to AddInstallRule
ebd556ca cmInstallGenerator: Fix check for absolute install destinations
290ca8e2 cmInstallGenerator: Refactor computation of absolute install dest
f99991db cmInstallGenerator: Move GetDestination to subclasses that need it
It can make sense to declare objects outside of loops if
the size required by the object can grow (eg std::string when
using getline), but that is not the case here.
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.
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.
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.
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.
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.
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.
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.