Commit Graph

51663 Commits

Author SHA1 Message Date
william.r.dieter
8213390a3e Added SETUID and SETGID to the list of accepted file permissions
Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
2021-01-29 16:30:52 -05:00
william.r.dieter
f41d0e0c77 Tests: Explicitly set permissions in CPack tests to avoid perimssions errors
When the user has the setgid bit is set on the parent directory of
the build directory, the setgid bit will be propagated throughout the
build tree.  Most tests do not care about permissions as long as they
can read and write the files the need.  The CPack tests, however, validate
that permissions match an expected set, and fail with the setgid bit set.

Explicitly set permissions on directories created in the CPackTestHelpers
to clear the setgid bit.

Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
2021-01-29 16:29:09 -05:00
Brad King
c5691f03e5 Merge topic 'intel-llvm-compilers'
b9f945eccb Help: Add release note for IntelLLVM compiler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5748
2021-01-29 09:36:58 -05:00
Craig Scott
525363447f Merge topic 'cmake_path-stabilization'
76cea3dfe2 cmake_path: rename 'GET ... RELATIVE_PATH' to 'GET ... RELATIVE_PART'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5743
2021-01-29 08:57:33 -05: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
Brad King
b9f945eccb Help: Add release note for IntelLLVM compiler support
This was accidentally left out from commit a90d2a9eed (IntelLLVM: Add
support for Intel LLVM-based compilers, 2020-11-02).

Issue: #21561
2021-01-29 08:07:16 -05:00
Brad King
0e60ec7480 Merge topic 'intel-llvm-compilers'
9b5fd04905 Tests: Disable MFC test for IntelLLVM due to #18311
ccdf7c0005 Tests: Skip VSGNUFortran test for ifx.
ddaf412dd0 Tests: Skip per file PDBs in PDBDirectoryAndName for IntelLLVM
a619b32768 Tests: Update RunCMake.GenerateExportHeader for IntelLLVM
661b04d6a6 Tests: Skip old PrecompiledHeader test on IntelLLVM
01b1e9c40d Tests: Update CompileFeatures test for IntelLLVM
f26f10184f Tests: Update Module.WriteCompilerDetectionHeader for IntelLLVM
3ceb364b1c Tests: Update RunCMake.FileAPI for IntelLLVM
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5594
2021-01-29 07:54:42 -05:00
Kitware Robot
59b5b6e11c CMake Nightly Date Stamp 2021-01-29 00:01:13 -05:00
Brad King
7dec962599 Merge branch 'release-3.19' 2021-01-28 11:27:04 -05:00
Brad King
0c86d15459 CMake 3.19.4 v3.19.4 2021-01-28 10:28:45 -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
17c4c8b92b Tests: Prevent the noisy CMP0114 warnings in ExternalProjectUpdate test 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
9b5fd04905 Tests: Disable MFC test for IntelLLVM due to #18311
clang-cl cannot deal with implicit dependencies in UTF16 files
(see #18311).  IntelLLVM inherits this behavior from Clang.  The
MFC test uses `rc` in the way described in #18311 and gets the same
error described in #18311.  Disable the test until #18311 is fixed.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:02 -05:00
William R. Dieter
ccdf7c0005 Tests: Skip VSGNUFortran test for ifx.
DLLEXPORT is not implemented in ifx yet, and required by this test.
2021-01-28 09:07:02 -05:00
William R. Dieter
ddaf412dd0 Tests: Skip per file PDBs in PDBDirectoryAndName for IntelLLVM
The IntelLLVM C compiler do not yet support PDBs per file with the /Fd
option.  Disable the parts of PDBDirectoryAndName that tries to generate
them so that the test will pass.
2021-01-28 09:07:02 -05:00
Brad King
a619b32768 Tests: Update RunCMake.GenerateExportHeader for IntelLLVM
On Windows, the expected results are like Clang's.
2021-01-28 09:07:01 -05:00
Brad King
661b04d6a6 Tests: Skip old PrecompiledHeader test on IntelLLVM
This test uses hard-coded flags for a fixed set of compilers.
We have first-class PCH support implemented for IntelLLVM.
2021-01-28 09:07:01 -05:00
Brad King
01b1e9c40d Tests: Update CompileFeatures test for IntelLLVM
We do not have granular features for this compiler.
2021-01-28 09:07:01 -05:00
Brad King
f26f10184f Tests: Update Module.WriteCompilerDetectionHeader for IntelLLVM 2021-01-28 09:07:01 -05:00
Brad King
3ceb364b1c Tests: Update RunCMake.FileAPI for IntelLLVM 2021-01-28 09:07:01 -05:00
William R. Dieter
12720a5b71 Tests: Update MSVCRuntimeLibrary.Fortran test for IntelLLVM
`ifx` needs the same command line arguments as `ifort`.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter
d83df2af57 Tests: Update Preprocess test for IntelLLVM
Work around an icx bug in command line handling of preprocessor macros.

A `\\\"` string in a macro passed to icx on the command line is not
properly parsed in compiler versions 2021.1.0 and earlier.  This problem
is expected to be fixed, though a target release has no been set yet.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
William R. Dieter
7de61526a0 Tests: Update CPack DEBUGINFO tests for IntelLLVM
By default icx and icpx do not add build IDs when linking, so enable
the build ID to make the test pass.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -05:00
Brad King
ae9f986da1 Tests: Update Assembler test for IntelLLVM
Enable parts of the test the same way we do for `Intel`.
2021-01-28 09:07:01 -05:00
William R. Dieter
882baca37b Tests: Update Fortran tests for IntelLLVM
Update checks for the `Intel` compiler id to match `IntelLLVM` too.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:07:01 -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
Brad King
32498d0665 cmake: Reduce default recursion depth when compiling with IntelLLVM
This compiler makes stack frames large enough (at least in Debug
builds) that CMake language recursion to depth 1000 overflows the
stack.  Reduce the limit for this compiler.
2021-01-28 09:07:00 -05:00
Brad King
87909f0600 Utilities: Suppress warnings in third-party code when using IntelLLVM 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
William R. Dieter
f5d79dec53 Tests: Cleanup CPack message when files are expected and none are found
Previously, when looking for exactly one file and the number of files
was not one, the test printed out an error message saying that too many
files were found, then printing the list of files.  However, 0 is not
1 and also not too many files.

To reduce confusion, this commit adds a different message when 0 files
are found and 1 is expected.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter
f6f048898d Tests: Update RunCMake.DependencyGraph to canonicalize paths when comparing
A symbolic link in the path was causing false path mismatches.
Resolving the symlinks makes both paths identical.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter
49d7e0c91d Tests: Make GCOV test more robust to symbolic links in paths
Symbolic links in the path to the cmake build directory caused some
paths to have '..' directories in the path, which are equivalent, but
not a string match for the expected path.  As a result, some tests fail.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter
f905cfdc77 Tests: Fix Fortran test C function prototypes
Several extern functions were declared without return type, which results
in warnings.  The functions are for calling Fortran subroutines, so
there should not be a return value.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
William R. Dieter
4c7e2615b8 Tests: Use the CVS :local: access method for local directories
Windows absolute paths start with a drive letter, followed by the path.
Without an explicit access method specification, CVS treats the drive
letter as a host name.  This changes explicitly adds `:local:` to local
directory repository paths used in tests to avoid this confusion.

See the CVS Manual [1] for more information.

[1] https://www.gnu.org/software/trans-coord/manual/cvs/cvs.html#Repository

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-01-28 09:05:35 -05:00
Brad King
549eedfe85 Tests: Fix CMP0115 warnings in CompileFeatures test
Pass source file extensions explicitly.
2021-01-28 09:05:34 -05:00
Brad King
b369aee24d Merge topic 'nvhpc-compiler'
4de28ba4e6 Tests: Update tests for NVHPC compiler
90502d76b7 FindOpenMP: Add support for NVHPC compiler
76dee5831b FindOpenACC: Add support for NVHPC compiler
ff7bab83c2 GenerateExportHeader: Add support for NVHPC compiler
83ea49818f NVHPC: Add support for NVIDIA HPC SDK compilers based on PGI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5475
2021-01-28 09:03:10 -05:00
Brad King
c498a8ad0b Merge topic 'ci-aarch64'
430224b6e8 gitlab-ci: add test:debian10-aarch64-ninja job
300a91d42d gitlab-ci: add build:centos7-aarch64 job
d997637fa3 gitlab-ci: add rules infrastructure to allow non-MR jobs
a54e43670d gitlab-ci: rename build:centos6-{release => x86_64}
616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
227ca689a7 ci: download cmake on aarch64
a601ed8e0e ci: download ninja on aarch64
54c2c5f889 ci: generalize ninja download script to support non-upstream builds
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5745
2021-01-28 08:38:42 -05:00
Kitware Robot
f2c4ea6807 CMake Nightly Date Stamp 2021-01-28 00:04:15 -05:00
Marc Chevrier
76cea3dfe2 cmake_path: rename 'GET ... RELATIVE_PATH' to 'GET ... RELATIVE_PART'
For consistency, subcommand 'HAS_RELATIVE_PATH' is also renamed
to 'HAS_RELATIVE_PART'.

Fixes: #21385
2021-01-28 11:06:31 +11:00
Brad King
430224b6e8 gitlab-ci: add test:debian10-aarch64-ninja job 2021-01-27 11:59:54 -05:00
Brad King
300a91d42d gitlab-ci: add build:centos7-aarch64 job
Test building our release for the `aarch64` architecture.
For now, leave this job out during merge requests.
2021-01-27 11:59:54 -05:00
Brad King
d997637fa3 gitlab-ci: add rules infrastructure to allow non-MR jobs 2021-01-27 11:59:30 -05:00
Brad King
a54e43670d gitlab-ci: rename build:centos6-{release => x86_64}
This makes room for a future equivalent for other architectures.
2021-01-27 10:29:38 -05:00
Brad King
616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
Use `linux_release` in names associated with building or testing
release-style binaries.  Add a `.linux_package` helper to adjust
the release binary build behavior for package-specific jobs.
2021-01-27 10:29:38 -05:00