When C++ features require a certain C++/CUDA level, verify or update the
standard level target property for each language independently.
While at it, add missing rejection of invalid `CUDA_STANDARD` property
values.
Co-Author: Brad King <brad.king@kitware.com>
Fixes: #17519
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 2d27b1d075d93860ee63564f635fd1710aa61208 (master).
Upstream Shortlog
-----------------
Brad King (1):
9995f700 hashtable: Drop when building inside CMake
Shared libraries linked with CUDA now properly setup booth the correct
install_name but also specify headerpad_max_install_names so that the names
can be changed post build.
Merge using `-s ours` merge strategy because the change is a fix
specific to the 3.10 release series, and we already have a similar fix
in post-3.10 development.
Library dependencies of the origin target were forwarded to the
_autogen target as source file dependencies. This is fixed by
forwarding the dependencies as target dependencies instead.
Issue: #17278
Revert the library target dependency forwarding to the `_autogen` target
to the 3.9.6 way, only now using `GetLinkImplementationLibraries`.
Fixes: #17278
Refactoring in commit 66419bc046 (CTest: convert timeouts to
std::chrono::duration, 2017-11-20) accidentally changed the logic used
to compute the timeout for a test when it starts. It incorrectly limits
the maximum possible timeout to 2 minutes rather than 2 minutes less
than the total allowed test time remaining. Update the new logic to
restore the original behavior.
Avoid subtracting 2 minutes from our "infinite" timeout value to avoid
creating very large timeouts that are not "infinite" and may exceed
integer type ranges.
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 4aee00361a2a38b99911318db84551eed8d3fcfc (master).
Upstream Shortlog
-----------------
Brad King (1):
09724ac8 hashtable: Avoid use of std::unary_function
Backtrace information was included by commit 35a52bd1b4 (server: add
"ctestInfo" request to get test info, 2017-10-25) to match that already
provided for targets. However, the backtrace representation uses too
much memory and needs to be dropped. Remove it from test information.
Issue: #17502
The backtrace information is very repetitive and hugely increases the
size of the codemodel object. We need to remove it until an alternative
representation can be developed. Revert commit v3.10.0-rc1~393^2
(server: Report backtraces in codemodel response, 2017-06-20), except
for the protocol version number (because it indicates other new things).
Unfortunately this is incompatible with clients that expect the
"crossReferences" field in targets. However, the regression in memory
usage is quite serious, especially on large projects, and therefore
breaks even older clients that do not use backtraces. Since the
"crossReferences" field was only provided by one release (3.10.0), it is
simplest to revert it outright for 3.10.1.
Fixes: #17502