Commit Graph

11308 Commits

Author SHA1 Message Date
Brad King ddaaee907d CMakeDetermineCompilerId: Recognize XCOFF executable format 2021-02-03 12:26:58 -05:00
Brad King 8a131c92a4 Merge topic 'findcudatoolkit_env_path'
4ea6d3c3ae FindCUDAToolkit: Restore use of CUDA_PATH environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5761
2021-02-03 10:51:29 -05:00
Robert Maynard 4ea6d3c3ae FindCUDAToolkit: Restore use of CUDA_PATH environment variable
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
2021-02-03 10:35:21 -05:00
Deniz Bahadir bc00cf9300 FindOpenSSL: Add support for version-range 2021-02-01 12:27:05 +01:00
Brad King 36bb0e32d7 Merge topic 'externalproject-update-refactor'
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
2021-01-29 08:10:21 -05:00
Craig Scott ac6a4d4884 ExternalProject: Improve robustness of update step
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
2021-01-28 09:32:35 -05:00
Craig Scott 1cb65e680d ExternalProject: Prevent the noisy detached head messages on checkout
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.
2021-01-28 09:32:35 -05:00
William R. Dieter aedb9add56 FindBLAS: Add support for IntelLLVM
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter 37ac9df342 FindBoost: Add support for IntelLLVM
Use the same code paths as the `Intel` compiler.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter 042aba3db4 FindOpenMP: Add support for IntelLLVM
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter 90941a1896 FindMPI: Add support for IntelLLVM
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter 67dfc6556c IRSL: Add support for IntelLLVM
Use the same code paths as the `Intel` compiler id.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:00 -05:00
William R. Dieter a90d2a9eed IntelLLVM: Add support for Intel LLVM-based compilers
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>
2021-01-28 09:05:35 -05:00
William R. Dieter 9bef4bef0f GenerateExportHeader: Recognize Intel < 12 more strictly
Match exactly the `Intel` compiler id.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
Tin Huynh 90502d76b7 FindOpenMP: Add support for NVHPC compiler 2021-01-27 09:53:02 -05:00
Tin Huynh 76dee5831b FindOpenACC: Add support for NVHPC compiler 2021-01-27 09:53:02 -05:00
Brad King ff7bab83c2 GenerateExportHeader: Add support for NVHPC compiler
Treat it just like PGI.
2021-01-27 09:53:02 -05:00
Tin Huynh 83ea49818f NVHPC: Add support for NVIDIA HPC SDK compilers based on PGI
Identify the compilers as `NVHPC` to distinguish it from the older PGI
compilers from which they evolved, and from other `NVIDIA` compilers.

Fixes: #20887
2021-01-27 09:53:02 -05:00
Rodolfo Lima bdf30bdad8 CPack: add CPACK_THREADS variable to control compression threads
This allows setting how many threads the compressor will use.
Currently only implemented for XZ when using system's lzma library.

Fixes: #21715
2021-01-26 16:23:37 +01:00
Brad King 9792c7df4e Merge topic 'irsl-msvc-arm64'
9c5cf0c1af IRSL: Add support for non-x86/x64 architectures such as arm64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5733
2021-01-26 09:03:13 -05:00
pastdue 9c5cf0c1af IRSL: Add support for non-x86/x64 architectures such as arm64
Implement `CMAKE_MSVC_ARCH` determination for more architectures.

Fixes: #16734
2021-01-25 12:15:43 -05:00
Brad King 016c71c681 Merge topic 'intel-fortran-nofor-main'
2a5955ac09 Intel: Replace deprecated Fortran flag -nofor_main with -nofor-main

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5729
2021-01-25 11:40:14 -05:00
Brad King adaa393115 Merge topic 'cpack-deb-shlibdeps-private-search-dirs'
d586a4ad60 CPackDeb: dpkg-shlibdeps now supports searching for private shared libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5718
2021-01-25 11:39:39 -05:00
Brad King 2a5955ac09 Intel: Replace deprecated Fortran flag -nofor_main with -nofor-main
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
2021-01-22 09:38:57 -05:00
Brad King 6bd251ace7 Merge topic 'SWIG-dependencies'
89b01b04fa UseSWIG: use swig tool to generate dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5724
2021-01-22 08:39:09 -05:00
Brad King 5a1b257fe7 Merge topic 'msvc-arm64ec-platform-support'
4ea3a88625 MSVC: Add support for targeting ARM64EC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5708
2021-01-22 08:38:21 -05:00
Deniz Bahadir d586a4ad60 CPackDeb: dpkg-shlibdeps now supports searching for private shared libs
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.
2021-01-22 08:33:01 -05:00
Marc Chevrier 89b01b04fa UseSWIG: use swig tool to generate dependencies
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.
2021-01-21 19:29:04 +01:00
Brad King c69567e56a Merge topic 'FindGit-cache-version'
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
2021-01-21 09:27:04 -05:00
Brad King 8cdb9de586 Merge topic 'cuda-archs'
92854bf29e CUDA: Update arch selection, restructure for maintainability
a58a572459 CUDA: Add arch selection debug mode to print out CUDA versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5719
2021-01-21 09:19:23 -05:00
Brad King 7838a065a6 Merge topic 'FindHDF5-silence-output' into release-3.19
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
2021-01-21 09:17:39 -05:00
Brad King 89430f4604 Merge topic 'FindHDF5-silence-output'
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
2021-01-21 09:17:39 -05:00
Brad King 6bf23b2755 Merge topic 'macos-include-weak-dependencies'
7e615a540e file(GET_RUNTIME_DEPENDENCIES): Fix weak macOS libraries not detected
f2d92b983b GetPrerequisites: Include weak macOS dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5703
2021-01-21 09:16:37 -05:00
Moyo Okeremi 😊 4ea3a88625 MSVC: Add support for targeting ARM64EC 2021-01-20 16:43:35 -08:00
Ben Boeckel b924669385 FindHDF5: silence STATUS messages when found with QUIET 2021-01-20 14:05:14 -05:00
Ben Boeckel 2439a048b0 FindHDF5: avoid writing to the output when testing h5cc
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.
2021-01-20 14:04:25 -05:00
Henry Schreiner 92854bf29e CUDA: Update arch selection, restructure for maintainability
Fixes: #21712
2021-01-20 12:28:28 -05:00
Henry Schreiner a58a572459 CUDA: Add arch selection debug mode to print out CUDA versions 2021-01-20 12:27:54 -05:00
Bianca van Schaik f2d92b983b GetPrerequisites: Include weak macOS dependencies
Starting with Clang 12, `otool -L` adds `, weak` to weakly linked
libraries.  Update GetPrerequisites to recognize these.

Issue: #21684
2021-01-20 10:26:54 -05:00
Craig Scott 315a200f0c FindGit: Cache the GIT_EXECUTABLE version for the current run
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
2021-01-20 10:16:21 +11:00
Brad King 54dbc9c8f7 Merge topic 'ep-stash-options'
ac4a8002a5 ExternalProject: Don't git stash ignored files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5390
2021-01-18 11:20:45 -05:00
Brad King 28523d63ff Merge topic 'FindPostgreSQL-server-component'
8b066f1a65 FindPostgreSQL: Add server component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5680
2021-01-18 11:16:04 -05:00
Brad King 069e5a932d Merge topic 'irsl-msvcp_atomic_wait_dll'
6718caaa2f IRSL: Install msvcp${v}${d}_atomic_wait.dll if available with CRT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5702
2021-01-18 11:14:22 -05:00
Craig Scott ac4a8002a5 ExternalProject: Don't git stash ignored files
The change to the binary gitrepo.tgz file adds a commit which
adds a .gitignore file.

Fixes: #21278
2021-01-16 18:12:00 +11:00
Kelly Walker 6718caaa2f IRSL: Install msvcp${v}${d}_atomic_wait.dll if available with CRT
VS now distributes these additional runtime libraries.  Install them
if available.

Fixes: #21675
2021-01-15 10:41:17 -05:00
Alexey Edelev 8b066f1a65 FindPostgreSQL: Add server component
Require the server-specific artifacts only if the Server
component is requested.

Issue: #17223
2021-01-15 10:33:55 -05:00
Brad King 205d30df12 Merge topic 'FindLAPACK-pkgconfig'
d21ad02d44 FindLAPACK: Add pkgconfig support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5696
2021-01-15 10:30:16 -05:00
Brad King b9b5d49284 Merge topic 'FindHDF5-no-dedup-keywords'
a5fe1712b2 FindHDF5: Remove unnecessary de-duplication of HDF5_LIBRARIES and friends
dadb13f546 FindHDF5: Simplify preprocessor setting de-duplication

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5692
2021-01-15 10:29:36 -05:00
Florent Pruvost d21ad02d44 FindLAPACK: Add pkgconfig support
- mimic FindBLAS

Fixes: #21700
2021-01-14 17:19:07 +01:00
Brad King 438ed46c13 Merge topic 'ExternalProject-configure-handled-by-build'
7155e358c9 ExternalProject: Add CONFIGURE_HANDLED_BY_BUILD option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5626
2021-01-13 09:21:47 -05:00