Commit Graph

51629 Commits

Author SHA1 Message Date
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
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
Brad King 227ca689a7 ci: download cmake on aarch64 2021-01-27 10:29:38 -05:00
Brad King a601ed8e0e ci: download ninja on aarch64 2021-01-27 10:29:38 -05:00
Brad King 54c2c5f889 ci: generalize ninja download script to support non-upstream builds 2021-01-27 10:29:38 -05:00
Brad King 88e049e327 ci: add docker spec to build ninja for linux-aarch64 2021-01-27 10:29:38 -05:00
Brad King eefa0ed0fa ci: update to use CMake 3.19.3 2021-01-27 10:20:46 -05:00
Tin Huynh 4de28ba4e6 Tests: Update tests for NVHPC compiler
Treat it just like PGI.
2021-01-27 09:53:02 -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
Brad King 9b96fbc358 Merge topic 'clang-tidy-fixes'
ef935b17ab clang-tidy: fix `readability-use-anyofallof` warnings
9ac8dbbb94 clang-tidy: fix `readability-simplify-boolean-expr` warnings
ca505718f4 clang-tidy: fix `readability-redundant-string-init` warnings
b3b6ede6a1 clang-tidy: fix `readability-redundant-access-specifiers` warnings
cdfc4e3195 clang-tidy: fix `readability-qualified-auto` warnings
808b17b120 clang-tidy: fix `readability-make-member-function-const` warnings
4470eb5179 clang-tidy: fix `performance-trivially-destructible` warnings
4f396e6528 clang-tidy: fix `performance-no-automatic-move` warnings
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5731
2021-01-27 09:52:18 -05:00
Brad King a0e44fc16b Merge topic 'rel-package-names'
2186f8988f Utilities/Release: Rename Windows packages to 'windows-$arch'
dc9340dbc4 Utilities/Release: Rename Linux packages to 'linux-$arch'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5738
2021-01-27 09:07:09 -05:00
Brad King 6153bd3a0c Merge topic 'update-bison-parser'
7c6192472b LexerParser: Suppress -Wused-but-marked-unused warning in cmExprParser
6f64300a01 LexerParser: Clean up includes following include-what-you-use
699d50e376 LexerParser: Regenerate parser files with GNU Bison 3.7.4
c95442b9b1 LexerParser: Manual removing code from Bison is no longer needed
5a8a61a798 LexerParser: Do not use GNU Bison's yacc mode, we use Bison extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5730
2021-01-27 09:05:43 -05:00
Brad King f39fb0b90d Merge topic 'outdir-target-genex'
64c3857780 OUTPUT_DIRECTORY: Support tgt genex in output artifact vars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5690
2021-01-27 09:04:29 -05:00
Brad King 977811a8ff Merge topic 'doc-system-processor'
5a6379f1fd Help: Clarify meaning of CMAKE_SYSTEM_PROCESSOR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5744
2021-01-27 09:03:37 -05:00
Brad King 7ab6d1e831 Merge topic 'cpack-compression-threads'
bdf30bdad8 CPack: add CPACK_THREADS variable to control compression threads
bcdb5b52a0 libarchive: Fix lzma_stream_encoder_mt detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5716
2021-01-27 09:02:35 -05:00
Brad King eff0f75bd2 Merge topic 'ExternalProject-vcs-tests'
195809914f Tests: Generate simpler ExternalProject sample Git repositories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5741
2021-01-27 09:00:50 -05:00
Brad King 801ea881b3 Merge topic 'doc-if'
e63e83d2b8 Help: Document that if(EXISTS) does not expand ~

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5742
2021-01-27 08:59:16 -05:00
Ben Boeckel ef935b17ab clang-tidy: fix readability-use-anyofallof warnings 2021-01-27 08:54:18 -05:00
Ben Boeckel 9ac8dbbb94 clang-tidy: fix readability-simplify-boolean-expr warnings 2021-01-27 08:45:45 -05:00
Ben Boeckel ca505718f4 clang-tidy: fix readability-redundant-string-init warnings 2021-01-27 08:45:45 -05:00
Ben Boeckel b3b6ede6a1 clang-tidy: fix readability-redundant-access-specifiers warnings 2021-01-27 08:45:45 -05:00
Ben Boeckel cdfc4e3195 clang-tidy: fix readability-qualified-auto warnings 2021-01-27 08:45:45 -05:00
Ben Boeckel 808b17b120 clang-tidy: fix readability-make-member-function-const warnings 2021-01-27 08:45:45 -05:00
Ben Boeckel 4470eb5179 clang-tidy: fix performance-trivially-destructible warnings 2021-01-27 08:45:44 -05:00
Ben Boeckel 4f396e6528 clang-tidy: fix performance-no-automatic-move warnings 2021-01-27 08:45:44 -05:00
Ben Boeckel 3a0d40bf8c clang-tidy: fix bugprone-suspicious-include warnings 2021-01-27 08:45:44 -05:00
Ben Boeckel a0610cf9e9 clang-tidy: fix bugprone-signed-char-misuse warnings 2021-01-27 08:45:44 -05:00
Ben Boeckel c826461d9c clang-tidy: fix bugprone-reserved-identifier warnings 2021-01-27 08:45:44 -05:00
Kitware Robot 675d81be6c CMake Nightly Date Stamp 2021-01-27 00:01:18 -05:00
Brad King 7c6192472b LexerParser: Suppress -Wused-but-marked-unused warning in cmExprParser 2021-01-26 14:33:52 -05:00
Asit Dhal 64c3857780 OUTPUT_DIRECTORY: Support tgt genex in output artifact vars
Following variables now support target dependent generator expressions.
- CMAKE_RUNTIME_OUTPUT_DIRECTORY
- CMAKE_LIBRARY_OUTPUT_DIRECTORY
- CMAKE_ARCHIVE_OUTPUT_DIRECTORY

Fixes: #18055
2021-01-26 12:13:15 -05:00
Brad King 5a6379f1fd Help: Clarify meaning of CMAKE_SYSTEM_PROCESSOR
On Windows the value may not match the compiler's target architecture.
Update the documentation to state this explicitly.

Issue: #15170
2021-01-26 11:04:22 -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