Commit Graph

11162 Commits

Author SHA1 Message Date
Brad King bdfa5ac7f6 Merge branch 'master' into llvm-rc-preprocess-as-c 2020-12-02 08:21:12 -05:00
Thomas Bernard f7ff0d34f0 llvm-rc: Force C language for the clang gnu frontend
When preprocessing the rc file using the clang gnu front end we need to
force the source file type to a c file for the preprocessing to take
place.

Fixes: #21472
2020-12-02 08:19:44 -05:00
Brad King 628d7ef672 Merge topic 'cuda_env_archs'
c57541d874 CUDA: Fix tests with CUDAARCHS set
c4ae9384ff CUDA: Initialize CMAKE_CUDA_ARCHITECTURES using $ENV{CUDAARCHS}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5533
2020-12-01 09:37:07 -05:00
Brad King 29d27f67fd Merge topic 'Help-FindPython-add-version-information'
ee6f37d606 Help: FindPython: add version information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5554
2020-12-01 09:34:34 -05:00
Brad King 644f190abb Merge topic 'windows-clang-LINKER-prefix'
9ac9876757 Clang on Windows: 'LINKER:' prefix must be honored

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5551
2020-12-01 09:32:08 -05:00
Brad King f264f1d783 Merge topic 'windows-clang-LINKER-prefix' into release-3.19
9ac9876757 Clang on Windows: 'LINKER:' prefix must be honored

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5551
2020-12-01 09:32:07 -05:00
Marc Chevrier ee6f37d606 Help: FindPython: add version information 2020-12-01 11:53:30 +01:00
Brad King a24a4e18af Merge topic 'makefiles-compiler-deps-optims'
2c71d051fa Makefiles Generators: use compiler for dependencies generation
afd0f6785d Refactoring: Abstract Makefile line continuation format
b6068ce407 Refactoring: enhance include file filtering
3401403f69 Refactoring: Introduce place-holder for dependency target.
a97c41bf8b Refactoring: Makefiles Generators: Add support for various depends scanners

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !5528
2020-11-30 13:26:53 -05:00
Brad King 5ef2364053 Merge topic 'correct_check_compiler_flag_regression' into release-3.19
72f6b4bfbe Modules: Rename Internal/CMake{CheckCompiler => TryCompilerOrLinker}Flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kumar Gala <kumar.gala@gmail.com>
Merge-request: !5540
2020-11-30 12:37:14 -05:00
Brad King 0a9f19c0ea Merge topic 'correct_check_compiler_flag_regression'
72f6b4bfbe Modules: Rename Internal/CMake{CheckCompiler => TryCompilerOrLinker}Flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kumar Gala <kumar.gala@gmail.com>
Merge-request: !5540
2020-11-30 12:37:14 -05:00
Brad King 2e1eaf16a7 Merge topic 'check-lang-conditions' into release-3.19
f3d4254b3d Check*: Tolerate variables set with names of languages
01d91ae5f2 Tests: Fix RunCMake.Check* conditions for enabling Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !5536
2020-11-30 12:34:31 -05:00
Brad King b13961fb0f Merge topic 'check-lang-conditions'
f3d4254b3d Check*: Tolerate variables set with names of languages
01d91ae5f2 Tests: Fix RunCMake.Check* conditions for enabling Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !5536
2020-11-30 12:34:31 -05:00
Raul Tambre c4ae9384ff CUDA: Initialize CMAKE_CUDA_ARCHITECTURES using $ENV{CUDAARCHS}
NVCC's default architecture may be newer than the one supported by the
machine's GPU.
In such cases it's useful to have an environment variable for initializing
CMAKE_CUDA_ARCHITECTURES to avoid specifying it for every invocation.
2020-11-30 17:57:11 +02:00
Marc Chevrier 9ac9876757 Clang on Windows: 'LINKER:' prefix must be honored
Fixes: #21094
2020-11-30 15:31:45 +01:00
Marc Chevrier 2c71d051fa Makefiles Generators: use compiler for dependencies generation
Each source compilation generates a dependencies file. These dependencies
files are consolidated in one file per target. This consolidation is done
as part of command 'cmake -E cmake_depends` launched before evaluation of
makefile dependency graph.

The consolidation uses the same approach as `CMake` dependencies management.

Fixes: #21321
2020-11-29 15:25:42 +01:00
Craig Scott 7fb0a78ab1 Merge topic 'ctest-less-findy'
705e31a31b CTest: only look for update executables when needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5542
2020-11-28 15:35:12 -05:00
Marc Chevrier 3401403f69 Refactoring: Introduce place-holder for dependency target.
These changes are in preparation of compiler generated dependencies support
for Makefiles generators

* compiler output and dependency target can be different for Makefiles generators
* resolve inconsistency naming for dependency file place-holder
2020-11-28 16:02:58 +01:00
Marc Chevrier 72ede0218d Merge topic 'FPHSA-usable-outside-find_package' into release-3.19
14ecf9c2f6 FPHSA: ensure it can be used outside 'find_package'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5539
2020-11-28 09:02:54 -05:00
Marc Chevrier 8ac63eb4b8 Merge topic 'FPHSA-usable-outside-find_package'
14ecf9c2f6 FPHSA: ensure it can be used outside 'find_package'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5539
2020-11-28 09:02:54 -05:00
Seth R Johnson 705e31a31b CTest: only look for update executables when needed 2020-11-26 10:23:56 -05:00
Robert Maynard 72f6b4bfbe Modules: Rename Internal/CMake{CheckCompiler => TryCompilerOrLinker}Flag
Rename the `CheckPIESupported` helper functions so that they
don't clobber other internal functions. Also rename them to
document they can't be unified with `CheckCompilerFlag`.

Fixes: #21497
2020-11-25 11:06:15 -05:00
Marc Chevrier 14ecf9c2f6 FPHSA: ensure it can be used outside 'find_package'
Fixes: #21505
2020-11-25 16:36:12 +01:00
Brad King f3d4254b3d Check*: Tolerate variables set with names of languages
Fix the language checks added by commit 90dead024c (CheckCompilerFlag:
unified way to check compiler flags per language, 2020-09-25,
v3.19.0-rc1~88^2), commit 10ae907de0 (CheckSoureCompiles: Add a unified
way to check if a source compiles, 2020-09-14, v3.19.0-rc1~118^2~1), and
commit 357e2ef429 (CheckSoureRuns: Add a unified way to check if a
source runs, 2020-09-14, v3.19.0-rc1~118^2) to work when variables of
the language names are set.

Fixes: #21500
2020-11-25 09:11:21 -05:00
Brad King 37add87632 Merge topic 'cuda_detect_vs_codegen' into release-3.19
20807a1882 CUDA: Fix user-set architectures during detection with Visual Studio

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5531
2020-11-25 08:35:08 -05:00
Brad King 0e28b39f41 Merge topic 'cuda_detect_vs_codegen'
20807a1882 CUDA: Fix user-set architectures during detection with Visual Studio

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5531
2020-11-25 08:35:08 -05:00
Raul Tambre 20807a1882 CUDA: Fix user-set architectures during detection with Visual Studio
If the user specifies CMAKE_CUDA_ARCHITECTURES we use those during detection
and error out if they don't work.
For Visual Studio a dummy project file is used instead of invoking the compiler
directly. NVCC would thus use its default and we'd fail if
CMAKE_CUDA_ARCHITECTURES was anything other than NVCC's default.

Use the necessary project file variable in CMakeDetermineCompilerId.cmake to
match other generators.

Fixes #21492.
2020-11-25 08:27:40 -05:00
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 8832b695e0 Merge topic 'cuda_11'
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 3bc549540e Merge branch 'master' into FindGTest-revert-no-release 2020-11-20 10:15:53 -05:00
Brad King 60a131efd5 Merge topic 'revert-explicit-LANGUAGE-flag'
30aa715fac Revert "specify language flag when source LANGUAGE property is set"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5519
2020-11-20 10:05:11 -05: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
Brad King c8b2331e8b Merge topic 'rename_cuda_memcheck'
fea49b2df0 CTest: Rename CudaMemcheck to CudaSanitizer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5514
2020-11-18 07:29:54 -05:00
Tobias Ribizel fea49b2df0 CTest: Rename CudaMemcheck to CudaSanitizer 2020-11-17 21:06:30 +01:00
Andrew Fuller c826745f5a CPack/DEB: Do not crash when asked for debug symbols when there are none
Fixes: #21356
2020-11-16 14:03:07 -05:00
Brad King c00a6d3967 MSVC: Do not add /GR to CMAKE_CXX_FLAGS by default
The `/GR` flag has been on by default since MSVC cl 14.0 from VS 2005.
Remove it from the default flags to make it easier for projects to pass
`/GR-` themselves to turn it off.

Projects may be using string processing to replace `/GR` with another
flag, so we cannot simply drop it.  Add a policy to drop it in a
compatible way.

Fixes: #21428
2020-11-13 11:46:23 -05:00
Brad King 6114c8e994 MSVC: Factor out initialization of /GR flag 2020-11-13 10:50:25 -05:00
Brad King 225fb10f67 Merge topic 'usejava_helpers'
cb28d9af1f UseJava: Move helper scripts to subdirectory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5501
2020-11-13 09:48:56 -05:00
Brad King 1bedfa7c5d Merge topic 'android-abis'
3a2bb717ee Android: load ABI information from abis.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5499
2020-11-13 09:46:40 -05:00
Brad King c457670711 Merge topic 'qtifw-archivegen'
5ab75dd7dd CPack/IFW: Locate the archivegen utility

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5503
2020-11-13 09:45:33 -05: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 5dd1d841f3 Merge topic 'qtifw-4.0'
63ae96a317 CPack/IFW: Add support for QtIFW 4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5502
2020-11-13 09:44:28 -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
Brad King 72f8237422 Merge topic 'xcode-compiler-id-path'
bcbae3f71e Xcode: Extract CMAKE_<LANG>_COMPILER from compiler id with multiple archs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5506
2020-11-13 09:41:25 -05:00
Brad King 5ba7559966 Merge topic 'xcode-compiler-id-arch'
98849039cc Xcode: Default to arm64 arch on Apple Silicon hosts during compiler id

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5505
2020-11-13 09:40:09 -05:00
Erlend Egeberg Aasland 5ab75dd7dd CPack/IFW: Locate the archivegen utility
Fixes: #21427
2020-11-12 21:22:53 +01:00