Refactoring in commit 7cc815a2a6 (CUDAToolkit: Detect CUDA SDK that
don't have nvcc, 2020-07-24, v3.19.0-rc1~366^2) accidentally broke
use of the `CUDA_PATH` environment variable.
Fixes: #21740
ac6a4d4884 ExternalProject: Improve robustness of update step
17c4c8b92b Tests: Prevent the noisy CMP0114 warnings in ExternalProjectUpdate test
1cb65e680d ExternalProject: Prevent the noisy detached head messages on checkout
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5389
Refactor the update logic to make it easier to follow. The following
fixes/improvements are some consequences of this change:
* Absorb a confusing git checkout failure message when the failure
is allowed and we act on that failure appropriately.
* Fix an unnecessary fetch in some scenarios when checking out a
git hash we already have locally.
* Stash and restore any local changes even when not rebasing.
* Avoid unsafe rebasing where we are not on a branch that is
already tracking the requested branch.
* When fetching, use --tags --force to ensure we get all the tags
and commits leading up to them regardless of whether the tags
are on branches or not. Also update our local tags if they move
on the remote.
Fixes: #20677
When checking out a specific commit by its git hash, git will output
a very noisy message about checking out a detached HEAD. This
is not particularly helpful for us here and makes the output overall
quite verbose. Add a git config setting to prevent it.
Using a single ID 'IntelLLVM' for the suite of Intel compilers based on
the LLVM backend. The 'IntelLLVM' ID are used for C, C++, and Fortran.
Data Parallel C++ will be handled in a separate commit.
The C and C++ definitions are based on the Clang definitions. The Intel
LLVM-based C and C++ compilers are based on the Clang front end, so
existing Clang options are more likely to be a good match than options
for the older Intel compilers.
Fortran is based on the older Fortran front end with the LLVM backend.
It has a similar interface to the older versions, though many options
are shared with the C and C++ compilers.
Fixes: #21561
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
Identify the compilers as `NVHPC` to distinguish it from the older PGI
compilers from which they evolved, and from other `NVIDIA` compilers.
Fixes: #20887
The `-nofor_main` flag was originally added by commit ccdd3e943d (Fix
Intel Fortran SHARED libraries on Linux, 2009-10-27, v2.8.2~915). Since
then, Intel Fortran renamed the option to `-nofor-main` and deprecated
the old name. The new name has been available for a long time, so
we can just switch to it.
Fixes: #21735
The new CPack variable `CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS`
can be set to a list of directories. If `CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
or `CPACK_DEBIAN_<component>_PACKAGE_SHLIBDEPS` are set to `ON` these
directories will be searched by `dpkg-shlibdeps` in order to find
private shared library dependencies of the libraries/executables that
shall be packed.
add_custom_command() supports option DEPFILE when generator is
Makefiles or Ninja. And swig tool is able to generate a dependencies
file which is compatible with DEPFILE option.
76fdeb6d13 Tests: FindGit already provides the git version, re-use it
315a200f0c FindGit: Cache the GIT_EXECUTABLE version for the current run
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5712
b924669385 FindHDF5: silence STATUS messages when found with QUIET
2439a048b0 FindHDF5: avoid writing to the output when testing h5cc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5722
b924669385 FindHDF5: silence STATUS messages when found with QUIET
2439a048b0 FindHDF5: avoid writing to the output when testing h5cc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5722
The execution of this tool can output error logs to the output during
configure. This can then be caught by CTest and flagged as an error
during the build.
The git version should not change while CMake is running. When
using FetchContent with many dependencies, the repeated calls
to get the git version every time ExternalProject is used can be
measurable on some platforms. This commit queries that version
only once and then caches it in a global property for the rest of that
run. The git version can still safely change between runs because it
is not cached, only the GIT_EXECUTABLE location is cached.
Relates: #21703