Commit Graph

53619 Commits

Author SHA1 Message Date
Brad King ecd557cbd7 Merge topic 'check_cxx_compiler_flag_no_normal_variable' into release-3.21
018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6318
2021-07-08 07:49:30 -04:00
Robert Maynard 018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too
This was previously fixed by commit d46590910c (Check*CompilerFlag: Do
not set result as a normal variable too, 2020-09-21, v3.18.3~1^2^2), but
was regressed by refactoring in commit 90dead024c (CheckCompilerFlag:
unified way to check compiler flags per language, 2020-09-25,
v3.19.0-rc1~88^2) due to the changes being developed concurrently.
Fix it again, and add a test case.

Fixes: #21207
2021-07-08 07:44:03 -04:00
Brad King 709d0369e8 Merge branch 'release-3.20' into release-3.21 2021-07-08 07:38:00 -04:00
Brad King cc654242c7 Merge topic 'intel-oneapi-std-windows' into release-3.21
13961f3b43 Merge branch 'backport-3.20-intel-oneapi-std-windows'
5115dd1e2c IntelLLVM: Fix C/C++ standard level flags on Windows
84036d30d4 IntelLLVM: Fix C/C++ standard level flags on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6319
2021-07-08 07:36:57 -04:00
Brad King dc4b486933 Merge branch 'backport-3.20-intel-oneapi-std-windows' into release-3.20
Merge-request: !6319
2021-07-07 12:53:56 -04:00
Brad King 13961f3b43 Merge branch 'backport-3.20-intel-oneapi-std-windows' 2021-07-07 12:26:10 -04:00
Brad King 5115dd1e2c IntelLLVM: Fix C/C++ standard level flags on Windows
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.

Fixes: #22388
2021-07-07 12:25:38 -04:00
Brad King 84036d30d4 IntelLLVM: Fix C/C++ standard level flags on Windows
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.

Fixes: #22388
2021-07-07 12:24:36 -04:00
Brad King 41c5e0ab2a Merge topic 'help_cxxstd' into release-3.21
5650bebc2f Help: Note CXX_STANDARD values added vs. CMake version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6305
2021-07-07 09:30:12 -04:00
Brad King a1d0693175 Merge topic 'correct_cuda_toolkit_version_typo' into release-3.21
0d54276c82 Correct CUDAToolkit_VERSION_MINOR variable name typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6311
2021-07-07 09:29:06 -04:00
Brad King 4564c5a77e Merge topic 'cmake-presets-list-no-generator' into release-3.21
d9a3c9fad5 CMakePresets.json: Make --list-presets show presets with no generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6314
2021-07-07 09:27:45 -04:00
Brad King 19cd773c44 Merge topic 'xcode13-old-buildsystem' into release-3.21
71a2664ebb Xcode: Ignore deprecated build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6309
2021-07-07 09:26:35 -04:00
Michael Hirsch 5650bebc2f Help: Note CXX_STANDARD values added vs. CMake version 2021-07-06 18:10:54 -04:00
Kyle Edwards d9a3c9fad5 CMakePresets.json: Make --list-presets show presets with no generator
Fixes: #22389
2021-07-06 14:36:27 -04:00
Brad King 13fa970149 Merge branch 'release-3.20' into release-3.21 2021-07-06 09:51:29 -04:00
Brad King 0cd8bba051 Merge topic 'makefile-normalize-depfile' into release-3.21
6bc6ffb9a9 Merge branch 'backport-3.20-makefile-normalize-depfile'
6a6efdcaed Makefiles: Normalize compiler-generated depfile paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6297
2021-07-06 09:48:44 -04:00
Brad King 5bd8c6f250 Merge topic 'ci-fixups' into release-3.21
46c89c77de gitlab-ci: Rename CI config variable to avoid conflict with CMAKE_BUILD_TYPE
3ede66e17a Tests: Fix newline matching in several RunCMake.* cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6298
2021-07-06 09:47:50 -04:00
Robert Maynard 0d54276c82 Correct CUDAToolkit_VERSION_MINOR variable name typo 2021-07-06 08:43:13 -04:00
Gregor Jasny 71a2664ebb Xcode: Ignore deprecated build system
With Xcode 13 the key to suppress the check has changed.
Tested with Xcode 12.5 and 13.0-beta2.
2021-07-06 09:29:17 +02:00
Craig Scott b8186351dc Merge topic 'doc-3.21-release' into release-3.21
24b76eaa93 Help: Improve readability and accuracy of runtime deps-related content
308e5b30c9 Help: Tighten install(SCRIPT) wording for ALL_COMPONENTS option
52dec01729 Help: Add missing versionadded 3.21 for file(RENAME) options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6302
2021-07-05 20:02:28 -04:00
Craig Scott 24b76eaa93 Help: Improve readability and accuracy of runtime deps-related content
Duplicated textual patterns are factored out to make the text
more readable. The POST_INCLUDE_FILES and POST_EXCLUDE_FILES
were also previously missing from the main syntax block for
install(RUNTIME_DEPENDENCY_SET).
2021-07-04 17:37:29 +10:00
Craig Scott 308e5b30c9 Help: Tighten install(SCRIPT) wording for ALL_COMPONENTS option
In particular, mention the mutually exclusive nature with the
COMPONENT option. Fix the inconsistent way the versionadded
details were added for that text too.
2021-07-03 17:10:09 +10:00
Craig Scott 52dec01729 Help: Add missing versionadded 3.21 for file(RENAME) options 2021-07-03 17:10:09 +10:00
Brad King 77abc295a1 Merge branch 'backport-3.20-makefile-normalize-depfile' into release-3.20
Merge-request: !6297
2021-07-02 10:14:36 -04:00
Brad King 6bc6ffb9a9 Merge branch 'backport-3.20-makefile-normalize-depfile' 2021-07-02 10:01:09 -04:00
Marc Chevrier 6a6efdcaed Makefiles: Normalize compiler-generated depfile paths
Even though Makefile generators pass source files and include
directories by absolute path to the compiler, the compiler may generate
depfile paths relative to the current working directory.  For example,
`ccache` with `CCACHE_BASEDIR` may transform paths this way.  When
reading a depfile, convert relative dependencies to absolute paths
before placing them in `compiler_depend.make`, which is later evaluated
in the top-level build directory.

Fixes: #22364
2021-07-02 09:24:57 -04:00
Brad King 46c89c77de gitlab-ci: Rename CI config variable to avoid conflict with CMAKE_BUILD_TYPE
Since commit e216b9bbd3 (cmake: Allow CMAKE_BUILD_TYPE to be set by
environment variable, 2021-06-29), the `CMAKE_BUILD_TYPE` environment
variable is interpreted by CMake, and can affect the test suite.
Rename our CI config variable to avoid conflict.
2021-07-02 08:19:43 -04:00
Brad King 3ede66e17a Tests: Fix newline matching in several RunCMake.* cases
The RunCMake infrastructure's `*-stdout.txt` expected output files
interpret `\n` as a `\` and `n` rather than a newline.  Use a literal
newline instead.  Otherwise the cases that were trying to match any
configuration name via `[^\n]*` would fail on `RelWithDebInfo` because
it contains the letter `n`.
2021-07-02 08:19:34 -04:00
Brad King 6372e74ed4 Merge topic 'cmake-upload-junit-reports' into release-3.21
cb5c03ed04 gitlab-ci: upload JUnit reports for builds
722270ff50 ci: update to 3.21.0-rc2 for CI usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !6072
2021-07-02 08:06:54 -04:00
Brad King da48ee53ae Merge topic 'compiler-id-msvc-no-lib' into release-3.21
e93245ec64 DetermineCompiler: Restore identification of MSVC with no INCLUDE or LIB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6295
2021-07-02 08:05:53 -04:00
Brad King 6f93d2f713 Merge topic 'help_cstd' into release-3.21
9c310ff075 Help: Note C_STANDARD values added in CMake 3.21

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6294
2021-07-02 08:04:32 -04:00
Brad King e93245ec64 DetermineCompiler: Restore identification of MSVC with no INCLUDE or LIB
Update the change from commit c6aaaf066a (DetermineCompiler: Restore
identification of MSVC with no INCLUDE dirs, 2021-06-29,
v3.21.0-rc2~6^2) to also work with no `LIB` dirs.  Add the `-c` flag to
compile an object file without linking.
2021-07-01 13:04:16 -04:00
Michael Hirsch 9c310ff075 Help: Note C_STANDARD values added in CMake 3.21
Issue: #22366
2021-07-01 11:58:00 -04:00
Ben Boeckel cb5c03ed04 gitlab-ci: upload JUnit reports for builds
GitLab can render test results which come from JUnit files and inform
which tests have started failing on an MR.
2021-06-30 11:56:05 -04:00
Ben Boeckel 722270ff50 ci: update to 3.21.0-rc2 for CI usage
This version includes JUnit support in CTest.
2021-06-30 11:56:05 -04:00
Brad King 07cae3c50a Merge topic 'doc-vs-fortran' into release-3.21
ab06f78182 Help: Document VS generator support for Intel Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6289
2021-06-30 10:12:43 -04:00
Brad King ab06f78182 Help: Document VS generator support for Intel Fortran
Extend the list of project types added by commit a82eb539f0 (Help:
Describe the type of Visual Studio projects that can be generated,
2018-08-04, v3.13.0-rc1~227^2) to mention that Fortran projects are
supported with Intel compiler integration.
2021-06-30 09:31:55 -04:00
Brad King e610e99ad3 CMake 3.21.0-rc2 v3.21.0-rc2 2021-06-30 07:51:35 -04:00
Brad King 825ad2fb4c Merge topic 'CMP0126-WARNING' into release-3.21
16208ac113 CMP0126: Add control for warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6282
2021-06-30 07:32:56 -04:00
Brad King da79d6bdf6 Merge topic 'fujitsu-clang-findbinutils' into release-3.21
6ce97c2248 FujitsuClang: Change LTO option from -flto=thin to -flto
3a0effcd16 FujitsuClang: Set CMAKE_<LANG>_COMPILER_AR and CMAKE_<LANG>_COMPILER_RANLIB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6281
2021-06-30 07:31:39 -04:00
Brad King 2e7ce62b73 Merge topic 'vs-ARM64EC' into release-3.21
da0f74b5a1 VS: Add ARM64EC to supported platforms for VS 16 and 17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6283
2021-06-30 07:30:24 -04:00
Brad King e28c2ee9ae Merge topic 'rpm-suggests' into release-3.21
9b53eca317 CPack/RPM: Fix weak dep support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6274
2021-06-30 07:29:29 -04:00
Brad King 25c2fed01b Merge topic 'tll-out-of-dir' into release-3.21
e27a76f131 target_link_libraries: Restore transitive out-of-dir linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6285
2021-06-30 07:27:49 -04:00
Brad King 249363f579 Merge topic 'compiler-id-msvc-has-include' into release-3.21
c6aaaf066a DetermineCompiler: Restore identification of MSVC with no INCLUDE dirs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6284
2021-06-30 07:26:25 -04:00
Brad King e27a76f131 target_link_libraries: Restore transitive out-of-dir linking
Refactoring in commit 7f506b95a7 (cmGeneratorTarget: Refactor link item
lookup, 2021-05-26, v3.21.0-rc1~103^2~4) accidentally dropped the
persistent lookup scope tracking across multiple items that was added by
commit f0e67da061 (target_link_libraries: Fix out-of-dir linking of a
list of targets, 2020-01-14, v3.17.0-rc1~149^2).  This broke a
transitive out-of-dir linking case not covered by our test suite.
Restore the scope tracking and add a test case.

Fixes: #22363
2021-06-29 16:52:12 -04:00
Brad King c6aaaf066a DetermineCompiler: Restore identification of MSVC with no INCLUDE dirs
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6), our generated
compiler id source file contains a preprocessor condition of the form

    #elif ... && __has_include(...)

When MSVC is invoked with no include directories in the `INCLUDE`
environment variable or in `-I` flags, its implementation of
`__has_include` errors out immediately.  This breaks identification of
the compiler.

Work around the problem by adding a fallback attempt to compile the
identification source using a dummy include directory.
2021-06-29 12:55:35 -04:00
Alex Sweet 9b53eca317 CPack/RPM: Fix weak dep support
RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags.
It only supports querying those tags, but rpmbuild can not make use of them.
Since CPack relies on rpmbuild --querytags to check for support, this
commit switches to rpm --suggests to check for support of weak
dependencies.

Fixes: #22350
2021-06-29 11:14:54 -04:00
Brad King da0f74b5a1 VS: Add ARM64EC to supported platforms for VS 16 and 17
In commit 4ea3a88625 (MSVC: Add support for targeting ARM64EC,
2020-12-30, v3.20.0-rc1~121^2) the `ARM64EC` platform was accidentally
added to the list for VS 15 (2017) instead of VS 16 (2019).  Its
omission from the list of platforms was then repeated for VS 17 (2022).

Issue: #21724
2021-06-29 10:59:05 -04:00
Yuichiro Utsumi 6ce97c2248 FujitsuClang: Change LTO option from -flto=thin to -flto
Since -flto=thin is not supported officially in FujitsuClang,
change to -flto.
2021-06-29 09:31:53 -04:00
Yuichiro Utsumi 3a0effcd16 FujitsuClang: Set CMAKE_<LANG>_COMPILER_AR and CMAKE_<LANG>_COMPILER_RANLIB
Fixes: #22337
2021-06-29 09:31:53 -04:00