Commit Graph

11368 Commits

Author SHA1 Message Date
Brad King
fc76273519 Merge topic 'FindPython-fix-variable-handling'
754f4f6876 FindPython: fix erroneous variable handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5816
2021-02-16 12:07:17 -05:00
Marc Chevrier
754f4f6876 FindPython: fix erroneous variable handling
Fixes: #21817
2021-02-16 10:46:28 -05:00
Brad King
ae83d2b5ff Merge topic 'cuda_cleanup'
af38d5a1d4 Platform/Windows-NVIDIA-CUDA: Remove duplicated code
4dc1c9e525 CUDA: Fix spelling __IMPLICT_ -> __IMPLICIT_
4620cf77f2 Clang: Remove unused CUDA implicit link variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5812
2021-02-16 10:44:24 -05:00
Brad King
13992723d8 Merge topic 'FindPNG-advanced-variables'
17ae4e1bef FindPNG: only mark used variables as advanced

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5809
2021-02-16 10:41:26 -05:00
Brad King
264f7d76fe Merge topic 'IntelLLVM-unused-C17'
4642c81c72 IntelLLVM: Remove incomplete C17 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5805
2021-02-16 10:40:29 -05:00
Brad King
4642c81c72 IntelLLVM: Remove incomplete C17 support
CMake does not yet model support for C17.  Avoid possible confusion by
removing the settings for IntelLLVM pending a full implementation.
2021-02-15 10:43:35 -05:00
Ben Boeckel
17ae4e1bef FindPNG: only mark used variables as advanced
The `PNG_LIBRARY` variable is an output and not a cache variable.

Fixes some CMP0102 warnings.
2021-02-15 10:33:01 -05:00
Brad King
54f6928ebc Merge topic 'cuda-nvcc-output'
9ea66b2d86 CUDA: Capture all nvcc output when extracting toolkit root

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Tested-by: Raul Tambre <raul@tambre.ee>
Acked-by: Rong Ou <rong.ou@gmail.com>
Merge-request: !5804
2021-02-15 10:29:25 -05:00
Brad King
58a2f5d029 Merge topic 'FindGDAL-improvements'
55e493928b FindGDAL: add release note
f4b53fadda FindGDAL: support finding additional GDAL library names
1b2774450d FindGDAL: add support for skipping gdal-config
1621cb3eb1 FindGDAL: add documentation to cache variables
3caaff4c08 FindGDAL: conditionally set the output variables
3f6a4f2062 FindGDAL: mark cache variables as advanced
02e906305d FindGDAL: use execute_process instead of exec_program
140344da14 FindGDAL: fix some indentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5799
2021-02-15 10:21:18 -05:00
Raul Tambre
af38d5a1d4 Platform/Windows-NVIDIA-CUDA: Remove duplicated code
Some of the things are set in Platform/NVIDIA-CUDA and since we aren't setting
them to different values there's no point in overriding them.
Also fixed an unset() copy-paste error.
2021-02-14 11:53:26 +02:00
Raul Tambre
4dc1c9e525 CUDA: Fix spelling __IMPLICT_ -> __IMPLICIT_ 2021-02-14 11:53:24 +02:00
Raul Tambre
4620cf77f2 Clang: Remove unused CUDA implicit link variables
We don't use/need implicit links for Clang with CUDA.
2021-02-14 11:38:02 +02:00
Ben Boeckel
f4b53fadda FindGDAL: support finding additional GDAL library names 2021-02-12 07:43:23 -05:00
Brad King
9ea66b2d86 CUDA: Capture all nvcc output when extracting toolkit root
Since commit fb2afef620 (CUDA: Support nvcc symlinking to ccache,
2021-01-07) and commit 3cef91a321 (CUDA: Always extract CUDA Toolkit
root from nvcc verbose output, 2021-02-03) we always run the command
`nvcc -v __cmake_determine_cuda` to look for the toolkit root in its
stderr.  On Windows, that command may print to stdout instead, so
capture that as well.
2021-02-12 07:23:48 -05:00
Brad King
fece2db132 Merge topic 'UseSWIG-avoid-spurious-policy-warnings'
de7f0aa6c0 UseSWIG: avoid spurious policy warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5802
2021-02-12 06:55:17 -05:00
Brad King
a86cd9cb3c Merge topic 'FindMPI-lang-reason' into release-3.20
8251b62ba0 FindMPI: Fix reason for a non-enabled non-requested language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5801
2021-02-12 06:53:41 -05:00
Brad King
aa191f3ac2 Merge topic 'FindMPI-lang-reason'
8251b62ba0 FindMPI: Fix reason for a non-enabled non-requested language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5801
2021-02-12 06:53:41 -05:00
Felipe Torrezan
8ee933900e IAR: add support for the STM8 compiler 2021-02-12 06:51:05 -05:00
Marc Chevrier
de7f0aa6c0 UseSWIG: avoid spurious policy warnings 2021-02-11 17:17:10 +01:00
Ben Boeckel
1b2774450d FindGDAL: add support for skipping gdal-config
This can be confusing if there are autotools and CMake-built GDAL builds
within the same environment as the autotools variant will always be
preferred.
2021-02-11 09:46:10 -05:00
Ben Boeckel
1621cb3eb1 FindGDAL: add documentation to cache variables 2021-02-11 09:46:10 -05:00
Ben Boeckel
3caaff4c08 FindGDAL: conditionally set the output variables 2021-02-11 09:46:10 -05:00
Ben Boeckel
3f6a4f2062 FindGDAL: mark cache variables as advanced 2021-02-11 09:46:10 -05:00
Ben Boeckel
02e906305d FindGDAL: use execute_process instead of exec_program 2021-02-11 09:46:10 -05:00
Ben Boeckel
140344da14 FindGDAL: fix some indentation 2021-02-11 09:46:10 -05:00
Axel Huebl
8251b62ba0 FindMPI: Fix reason for a non-enabled non-requested language
In pure C/CXX projects, when doing an optional search for C/CXX
MPI APIs, I keep getting a reason appended of the form:

```
-- Could NOT find MPI_C (missing: MPI_C_LIB_NAMES MPI_C_HEADER_DIR MPI_C_WORKS)
-- Could NOT find MPI_CXX (missing: MPI_CXX_LIB_NAMES MPI_CXX_HEADER_DIR MPI_CXX_WORKS)
-- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
    Reason given by package: MPI component 'Fortran' was requested, but language Fortran is not enabled.
```

The reason makes no sense since I did not request Fortran and thus
confuses the reader. It is now only added if the component was truly
requested.
2021-02-11 09:05:19 -05:00
Brad King
b1e544dd64 Merge topic 'IntelLLVM-no-imsvc' into release-3.20
e5563e592f IntelLLVM: Remove unsupported -imsvc system include flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5795
2021-02-11 08:58:40 -05:00
Brad King
fd26519cfb Merge topic 'IntelLLVM-no-imsvc'
e5563e592f IntelLLVM: Remove unsupported -imsvc system include flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5795
2021-02-11 08:58:40 -05:00
Brad King
ea07176b9a Merge topic 'FindBoost-no-warn'
90467747a1 FindBoost: Add option to suppress new boost version dependency warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5794
2021-02-10 08:14:40 -05:00
John Melas
90467747a1 FindBoost: Add option to suppress new boost version dependency warning
Add option `Boost_NO_WARN_NEW_VERSIONS` to suppress new boost version
dependency warning.

Fixes: #21786
2021-02-10 08:02:24 -05:00
william.r.dieter
e5563e592f IntelLLVM: Remove unsupported -imsvc system include flag
`clang-cl` supports the `-imsvc` flag to tell the compiler an include
directory is intended for system paths.  `icx` does not accept this
flag, even on MSVC platforms, so do not tell CMake that it exists.

Fixes: #21801
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
2021-02-10 07:55:00 -05:00
Brad King
bb68658e98 Merge topic 'findcudatoolkit_handle_cuda_compiler_without_enabled_lang'
cd89d1c328 FindCUDAToolkit: Robust version checks when CUDA lang is not enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Tested-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5787
2021-02-10 07:48:50 -05:00
Brad King
691e8ac480 Merge topic 'clang-imsvc'
2fc5e5dba9 Clang: Use -imsvc for system include only with MSVC-like front-end

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Thomas Bernard <thomas@famillebernardgouriou.fr>
Merge-request: !5792
2021-02-10 07:46:33 -05:00
Brad King
2fc5e5dba9 Clang: Use -imsvc for system include only with MSVC-like front-end
In commit bb61c2d024 (Clang: use -imsvc for system include dirs when
running on Windows, 2020-09-16, v3.19.0-rc1~162^2) we added `-imsvc`
for all Clang compilers targeting the MSVC ABI.  However, the option
only exists for the MSVC-like front-end.  The GNU-like front-ends
use `-isystem`.

Fixes: #21789
2021-02-09 11:24:41 -05:00
Robert Maynard
cd89d1c328 FindCUDAToolkit: Robust version checks when CUDA lang is not enabled
Previously if you set `CMAKE_CUDA_COMPILER` but hadn't enabled
the CUDA language, FindCUDAToolkit would not correctly compute
the version information.
2021-02-09 09:39:20 -05:00
Brad King
340ca27f8d Merge topic 'FindXCTest-bundle-inject' into release-3.19
eafe740ead FindXCTest: Fix output directory for test bundle with new build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5786
2021-02-09 08:25:27 -05:00
Brad King
c4c902d132 Merge topic 'FindXCTest-bundle-inject'
eafe740ead FindXCTest: Fix output directory for test bundle with new build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5786
2021-02-09 08:25:27 -05:00
Brad King
cab99f7dba Merge topic 'xcode12-ios_install_combined'
0110aa018d IOS_INSTALL_COMBINED: Support Xcode 12 (command line only)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5785
2021-02-09 08:23:30 -05:00
Brad King
9b9075f723 Merge topic 'cuda_support_nvcc_from_hpctoolkit'
3cef91a321 CUDA: Always extract CUDA Toolkit root from nvcc verbose output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Tested-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5777
2021-02-09 08:21:17 -05:00
Brad King
18fa819e26 Merge topic '21479-branding-name-cpack-nsis'
0aabeb0c30 CPack/NSIS: Add option for setting branding text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5784
2021-02-09 08:20:17 -05:00
Yauheni Khnykin
eafe740ead FindXCTest: Fix output directory for test bundle with new build system
The output directory was still correct for macOS with the new build system,
but not for iOS.

Fixes: #20662
2021-02-09 10:20:57 +11:00
Robert Maynard
3cef91a321 CUDA: Always extract CUDA Toolkit root from nvcc verbose output
Fixes #21750, #21763

Given that NVCC can be provided by multiple different sources (NVIDIA HPC SDK, CUDA Toolkit, distro)
each of which has a different layout, we need to extract the CUDA toolkit root from the compiler
itself, allowing us to support numerious different scattered toolkit layouts.

The NVIDIA HPC SDK specifically ships two copies of nvcc one in
`compilers/bin/` and one in `cuda/bin`. Thus when using
`compilers/bin/nvcc` the Toolkit root logic fails.
2021-02-08 12:13:01 -08:00
Brad King
9cddaad940 AddFileDependencies: Deprecate this unnecessary module
Document that one can call `set_property` directly instead.
2021-02-08 12:44:37 -05:00
Brad King
4841d38a7a MacroAddFileDependencies: Explicitly deprecate by documentation
This module has been discouraged since commit 1e20be319f (STYLE: add
documentation for MACRO_ADD_FILE_DEPENDENCIES(), 2009-07-14,
v2.8.0~433).  It has been listed in the `cmake-modules(7)` manual
as deprecated since commit df780bcc01 (Help: Move deprecated modules to
appropriate section., 2018-11-12, v3.14.0-rc1~374^2).  Add the explicit
deprecation mark in its documentation.
2021-02-08 12:34:15 -05:00
Brad King
777c14af82 MacroAddFileDependencies: Simplify implementation 2021-02-08 12:34:15 -05:00
Brad King
17d4138108 Merge topic 'AddFileDependencies-simplify'
0f6fc388ea AddFileDependencies: Avoid leaking temporary variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5779
2021-02-08 12:22:23 -05:00
Anakin Skywalker
0f6fc388ea AddFileDependencies: Avoid leaking temporary variable
Convert `add_file_dependencies` to a function.
Simplify the implementation using `set_property` with `APPEND`.
2021-02-08 12:21:43 -05:00
Brad King
326cceaafc Merge topic 'cmake_library_architecture_better_multiarch_support'
657fc3a9a7 CMakeDetermineCompilerABI: Parse library arch from versioned paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5773
2021-02-08 12:05:07 -05:00
Brad King
4b406ead2a Merge topic 'FindGit-version-optimization-more'
c99dfd7be7 FindGit: Cache the version more effectively

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5774
2021-02-08 12:04:17 -05:00
Craig Scott
0110aa018d IOS_INSTALL_COMBINED: Support Xcode 12 (command line only)
Xcode 12 doesn't allow nested builds within the same build directory.
That means we can no longer do an install by building the install target
when IOS_INSTALL_COMBINED is true. We can, however, still do an install
by running the cmake_install.cmake script or executing cmake --install,
since there is no outer build and therefore the associated SDK can be
built as a sub-build.

The non-build methods previously didn't work when
IOS_INSTALL_COMBINED was true because the generated install script
and the CMakeIOSInstallCombined script both made certain assumptions
that relied on being part of a build. Those assumptions are now
removed. A side-effect of this work is that cpack now also works from the
command line when IOS_INSTALL_COMBINED is true.

Relates: #21282
Fixes: #20023
2021-02-08 18:02:46 +11:00