Commit Graph

11051 Commits

Author SHA1 Message Date
Brad King
92d21eae65 Merge topic 'cuda_11' into release-3.19
046e454fdd CUDA: Error if can't determine toolkit library root
440dc98b07 CUDA: Clang CUDA 11.1 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5525
2020-11-23 11:23:02 -05:00
Brad King
20bb6f24d1 Merge topic 'FindGTest-revert-no-release' into release-3.19
64dc4efc51 FindGTest: Revert "Allow either "Debug" or "Release" configurations."

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5520
2020-11-23 11:21:53 -05:00
Raul Tambre
046e454fdd CUDA: Error if can't determine toolkit library root
Finding the toolkit is required for Clang and is assumed to have been correctly
found by FindCUDAToolkit if the CUDA language is found.
Error out early with an useful error instead of failing later on due to the
path not being set.
2020-11-22 11:30:01 +02:00
Raul Tambre
440dc98b07 CUDA: Clang CUDA 11.1 support
version.txt is gone from CUDA 11.1 installations, but the rest is the same.
Instead of looking for version.txt look for <CUDA path>/nvvm/libdevice, which
is the main thing that Clang requires (though it also checks for the existence
of bin and include).

Fixes #21353.
2020-11-22 11:30:01 +02:00
Brad King
64dc4efc51 FindGTest: Revert "Allow either "Debug" or "Release" configurations."
Revert commit a064b18f85 (FindGTest: Allow either "Debug" or "Release"
configurations., 2020-06-29, v3.19.0-rc1~584^2).  If both configurations
are found then `GTEST_LIBRARY` is populated in a way that breaks
`__gtest_determine_library_type`, and the imported target is not
created correctly.

Fixes: #21473
Issue: #17799
2020-11-20 09:31:54 -05:00
Brad King
30aa715fac Revert "specify language flag when source LANGUAGE property is set"
Revert commit 74b1c9fc8e (Explicitly specify language flag when source
LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup
tables from its two immediate ancestors.  The purpose of that change was
to convert an explicit `LANGUAGE` source file property into an explicit
language specification compiler flag like `-x c`.  This seems reasonable
since the property is documented as meaning "indicate what programming
language the source file is".  It is also needed to help compilers deal
with non-standard source file extensions they don't recognize.

However, some projects have been setting `LANGUAGE C` on `.S` assembler
source files to mean "use the C compiler".  Passing `-x c` for them
breaks the build because the `.S` sources are not written in C.  These
projects should be updated to use `enable_language(ASM)`, for which
CMake often chooses the C compiler as the assembler when using
toolchains that support it (which would have to be the case for projects
using the approach).

Revert the change for now to preserve the old behavior for such projects.
We can re-introduce it with a policy in a future version of CMake.

Fixes: #21469
Issue: #14516, #20716
2020-11-19 17:06:03 -05:00
Tobias Ribizel
fea49b2df0 CTest: Rename CudaMemcheck to CudaSanitizer 2020-11-17 21:06:30 +01:00
Brad King
c35c4ae85c Merge topic 'qtifw-archivegen' into release-3.19
5ab75dd7dd CPack/IFW: Locate the archivegen utility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5503
2020-11-13 09:45:32 -05:00
Brad King
140e06e344 Merge topic 'qtifw-4.0' into release-3.19
63ae96a317 CPack/IFW: Add support for QtIFW 4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5502
2020-11-13 09:44:27 -05:00
Brad King
d8b50fd185 Merge topic 'xcode-compiler-id-path' into release-3.19
bcbae3f71e Xcode: Extract CMAKE_<LANG>_COMPILER from compiler id with multiple archs
a070565a66 Merge branch 'FindRuby-restore-VENDORLIB_DIR' into release-3.18
3969c86b51 Merge branch 'cuda_vs_skip_computation' into release-3.18

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5506
2020-11-13 09:41:25 -05:00
Erlend Egeberg Aasland
5ab75dd7dd CPack/IFW: Locate the archivegen utility
Fixes: #21427
2020-11-12 21:22:53 +01:00
Brad King
bcbae3f71e Xcode: Extract CMAKE_<LANG>_COMPILER from compiler id with multiple archs
When targeting a platform that supports multiple architectures, Xcode
may choose to build all of them in our small compiler id project.
Update the regex we use to extract the path to the compiler from
the Xcode output to account for this.

Fixes: #21425
2020-11-12 12:20:34 -05:00
Brad King
98849039cc Xcode: Default to arm64 arch on Apple Silicon hosts during compiler id
In commit b6c60f14b6 (macOS: Default to arm64 architecture on Apple
Silicon hosts, 2020-09-28, v3.19.0-rc1~63^2) we forgot to update the
compiler id architecture selection added by commit 26673bf480 (Xcode:
Explicitly specify default native architecture on macOS, 2020-07-16,
v3.18.1~20^2).

Issue: #21425
2020-11-12 11:26:19 -05:00
Erlend Egeberg Aasland
63ae96a317 CPack/IFW: Add support for QtIFW 4.0
installerbase v4.0 segfaults on macOS if you pass `--framework-version`,
so re-order flags to try `--version` first.

Fixes: #21426
2020-11-12 09:53:51 -05:00
Brad King
d8aaa06b54 Merge topic 'FindRuby-vs-runtimes' into release-3.19
d4a16427e2 FindRuby: Consider more VS runtime suffix combinations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5486
2020-11-12 09:09:52 -05:00
Brad King
6f61b59e74 Merge topic 'android-abi' into release-3.19
a585b75df9 Android: Use NDK_KNOWN_DEVICE_ABI{32,64}S instead of NDK_DEFAULT_ABIS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5488
2020-11-11 09:33:02 -05:00
Silvio Traversaro
d4a16427e2 FindRuby: Consider more VS runtime suffix combinations
These are needed to find recent Ruby versions for builds using
recent VS versions.

Fixes: #21066
2020-11-11 08:30:42 -05:00
Haibo Huang
a585b75df9 Android: Use NDK_KNOWN_DEVICE_ABI{32,64}S instead of NDK_DEFAULT_ABIS
Revise logic from commit 1ab574a0f4 (Android: Add support for NDK r22,
2020-10-07, v3.19.0-rc1~18^2) that loads ABI tables from the NDK.

`NDK_DEFAULT_ABIS` means the abis to build by default.
Use `NDK_KNOWN_DEVICE_ABI{32,64}S` instead.

In practise they have never been different. Fix to make it more precise.
2020-11-10 11:05:36 -08:00
Miro Hrončok
bb2ebbf241 FindPython{Interp,Libs}: Add support for version 3.10
Extend the change from commit 23cd98a66a (FindPython: Add support of
version 3.10, 2020-10-16, v3.19.0-rc2~25^2) to cover the legacy
`FindPython{Interp,Libs}` modules too.
2020-11-09 11:44:13 -05:00
Brad King
b80e39d0f6 Merge topic 'apple-v4-tbd-file-arch-lookup' into release-3.19
4c6797e03e Apple: Update SDK architecture detection for tbd file version 4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5470
2020-11-06 07:58:54 -05:00
Brad King
0adaed609f Merge topic 'FindPostgreSQL-13' into release-3.19
f3f09f1c96 FindPostgreSQL: support version 13

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5468
2020-11-06 07:55:47 -05:00
Tor Arne Vestbø
4c6797e03e Apple: Update SDK architecture detection for tbd file version 4
Extend the `.tbd` parsing from commit 170e598add (iOS: Fix detection of
supported SDK architectures, 2020-04-16, v3.17.2~11^2) to support `.tbd`
file version 4.
2020-11-05 10:21:23 -05:00
Tobias Ribizel
fb98883e2b CTest: Add cuda-memcheck to Dart and CTest module
Issue: #21388
2020-11-05 10:04:44 -05:00
Pavel Cernohorsky
f3f09f1c96 FindPostgreSQL: support version 13 2020-11-05 07:59:45 -05:00
Marc Chevrier
1c912056a1 cmake_path: remove new command from 3.19
Defer adding this command until post-3.19 development so that it
has more time to mature before being included in a release.

Issue: #21385
2020-11-03 09:55:35 -05:00
Brad King
37d75e5fdd Merge topic 'fix-cuda-qnx' into release-3.19
0832516bec Help: Add 3.19 release note about CUDA support on QNX
bcdd486bf7 CUDA: Enable support on QNX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5446
2020-11-03 07:22:54 -05:00
Craig Scott
15578c465a Merge topic 'doc-cpack-pre-post-scripts' into release-3.19
b77dfa441f Help: Clarify variables specifying scripts to execute during packaging

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !5454
2020-11-03 04:21:15 -05:00
Craig Scott
b77dfa441f Help: Clarify variables specifying scripts to execute during packaging
Relates: #19077
2020-11-03 20:11:38 +11:00
Brad King
81e27967d9 Merge topic 'FindBoost-config-mode' into release-3.19
685fa8bec0 FindBoost: Avoid leaking internal Boost_ROOT setting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5445
2020-11-02 09:43:33 -05:00
janbernloehr
bcdd486bf7 CUDA: Enable support on QNX
This fixes the following two issues with the CUDA support on QNX:

* cuda target name is not derived correctly (should be `aarch64-qnx`).
* linking `cudart` must not be linked against `rt`, `dl`, `pthread`.

This enables to use cmake's native cuda support on QNX.

Fixes: #21381
2020-11-02 09:39:36 -05:00
Brad King
013c4133f7 Merge topic 'CheckSourceRuns-compatibility' into release-3.19
a524bf3aa7 CheckSourceRuns: do not fail on unrecognized arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5426
2020-10-30 09:51:35 -04:00
Brad King
685fa8bec0 FindBoost: Avoid leaking internal Boost_ROOT setting
Since commit 4b2a61946f (FindBoost: Honor BOOST_ROOT when finding
upstream BoostConfig, 2020-10-22, v3.19.0-rc2~14^2) we accidentally leak
our internal setting of `Boost_ROOT`.  Revise the logic to unset our
temporary value.

Fixes: #21379
2020-10-30 09:42:43 -04:00
Ben Boeckel
a524bf3aa7 CheckSourceRuns: do not fail on unrecognized arguments
The old `check_X_source_runs` modules did not verify the arguments, so
we cannot start doing it now. Downgrade the hard error introduced in
commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a
source runs, 2020-09-14) via !5223 into a noisy warning.
2020-10-28 15:06:02 -04:00
Brad King
80e693152c Merge branch 'release-3.19' into FindRuby-restore-VENDORLIB_DIR 2020-10-27 12:25:41 -04:00
Brad King
4c0ef57e8c FindRuby: Restore compatibility variable RUBY_VENDORLIB_DIR
Since commit e672db628b (FindRuby: Rename variables to match case of
module name, 2020-03-11, v3.18.0-rc1~546^2), the result variables named
with the old `RUBY_` prefix are provided by compatibility code that maps
from the new `Ruby_` prefix variables.  This variable was accidentally
left out.

Fixes: #21369
2020-10-27 12:18:05 -04:00
Brad King
96ea613f16 Merge topic 'correct_msvc_cuda_flag_warning' into release-3.19
2b0d3c3524 CUDA: Use MSVC version to determine supported C++ standard levels

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5423
2020-10-27 07:05:18 -04:00
Robert Maynard
2b0d3c3524 CUDA: Use MSVC version to determine supported C++ standard levels
Fixes: #21335
2020-10-26 11:36:55 -04:00
Robert Maynard
d192918586 Modules: Do not implicitly add new functions via old Check Modules
The conversion of Check<Lang>CompilerFlag, SourceCompiles, and
SourceRuns over to the new functions has the possibility of breaking
projects that had functions with those existing names.

To reduce the possibility of collisions we now have all the
legacy code call functions that start with `cmake_`, and users
will need to explicitly include the new modules to get the
non-prefixed versions

Fixes: #21359
2020-10-26 10:57:55 -04:00
Brad King
6335b67c80 Merge topic 'FindBoost-config-mode' into release-3.19
4b2a61946f FindBoost: Honor BOOST_ROOT when finding upstream BoostConfig
b32cb33275 FindBoost: Honor Boost_NO_SYSTEM_PATHS when finding upstream BoostConfig

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5408
2020-10-26 10:27:25 -04:00
Craig Scott
95c14579f2 Help: Cleanup typos and grammar for the 3.19 release 2020-10-24 22:58:42 +11:00
Brad King
4b2a61946f FindBoost: Honor BOOST_ROOT when finding upstream BoostConfig
Fixes: #21200
2020-10-22 10:42:33 -04:00
Brad King
b32cb33275 FindBoost: Honor Boost_NO_SYSTEM_PATHS when finding upstream BoostConfig
Issue: #21200
2020-10-22 10:42:33 -04:00
Brad King
e61d872839 Merge topic 'FindPython-support-version-3.10' into release-3.19
23cd98a66a FindPython: Add support of version 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5383
2020-10-19 10:28:00 -04:00
Brad King
0bdaa60e43 Merge topic 'CheckSource-Fortran' into release-3.19
c4c636cef5 Tests: Add cases for CheckSource{Compiles,Runs} bad arguments
1e519df025 CheckSource{Runs,Compiles}: Fix default Fortran source extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5378
2020-10-16 09:22:32 -04:00
Marc Chevrier
23cd98a66a FindPython: Add support of version 3.10 2020-10-16 11:36:53 +02:00
Felipe Torrezan
b357f78196 IAR: Use .o object file extension with IAR-Ilink toolchains
The compiler default extension for its objects is `.o`.
Prefer that over `.obj`.
2020-10-15 11:49:39 -04:00
Michael Hirsch
1e519df025 CheckSource{Runs,Compiles}: Fix default Fortran source extension
In commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a
source runs, 2020-09-14, v3.19.0-rc1~118^2), the default Fortran source
file extension was accidentally changed from `.F90` to `.F`.  Fix that.

In commit 10ae907de0 (CheckSoureCompiles: Add a unified way to check if
a source compiles, 2020-09-14, v3.19.0-rc1~118^2~1), the default Fortran
source extension was correctly preserved as `.F`, but `.F90` is a better
default both for consistency and modern usage.  Use that for direct
calls to the `check_source_compiles` macro.  Update our original
`check_fortran_source_compiles` implementation to use `.F` by default
as it did before.

Fixes: #21307
2020-10-15 09:33:59 -04:00
Haibo Huang
8e4aa63c7b Android: show supported API level in error message 2020-10-13 08:40:44 -04:00
Brad King
01ae8149b8 Merge topic 'android-verify-abi-in-ndk' into release-3.19
5c2f9e3eeb Android: Fatal if ABI is not supported by NDK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5351
2020-10-13 08:38:54 -04:00
Marc Chevrier
5772ca0a53 FindPython: Ensure Apple Xcode python 3 is usable
The python 3 distributed as part of Xcode requires the specification
of a 'rpath' pointing at frameowrks root for a correct execution.

Fixes: #21293
2020-10-12 15:45:55 +02:00