1e947fcb83 Merge branch 'backport-IntelLLVM-depfile-flags' into IntelLLVM-depfile-flags
a8b6bf9a38 IntelLLVM: Add dependencies on system header files on Windows
94f1bbdd54 Intel: Add dependencies on system header files on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6964
1e947fcb83 Merge branch 'backport-IntelLLVM-depfile-flags' into IntelLLVM-depfile-flags
a8b6bf9a38 IntelLLVM: Add dependencies on system header files on Windows
94f1bbdd54 Intel: Add dependencies on system header files on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6964
The wording update in commit b74819e4fe (Help: Format 'if' command
documentation, 2013-12-18, v3.0.0-rc1~227^2~1) incorrectly implied that
`AND` has higher precedence than `OR`. Although this is common in many
languages, it has never been true in CMake's implementation. Revise
the wording to clarify the precedence.
Add a test case demonstrating the order.
Fixes: #23207
In commit 55e4753bbb (Refactor cmTargetExport removing
InterfaceIncludeDirecories, 2021-07-20, v3.22.0-rc1~337^2~1) the storage
of `INCLUDES DESTINATION` was moved into each target. However, a target
may be installed in multiple exports, and their `INCLUDES DESTINATION`
should not be mixed.
Convert the IncludeDirectoriesEntries vector to a map and modify access
function to store the directories lists with respect to cmExportTarget
object. This fixes error when the same target is exported more than once
via different exports and each for consequent export its include
directories list grows. Add a test for this case.
Fixes: #23183
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) the IntelLLVM depfile
generation flags were taken from `Platform/Windows-Intel-C`. Those
flags were added by commit a624a3e1b3 (Ninja: Use deps=gcc for Intel
Compiler on Windows, 2019-01-30, v3.14.0-rc1~30^2), which forgot to
account for commit 6d74e7870b (Ninja: Add dependencies on
system-provided header files, 2016-03-15, v3.6.0-rc1~265^2).
The `-QMD` option generates Makefile dependencies. The `-QMMD` option
generates Makefile dependencies, but excludes system header files.
Part of the BuildDepends test includes a header, cmake_pch.hxx, that
includes a second header, zot_pch.hxx. The test builds a pch file for
cmake_pch.hxx, touches zot_pch.hxx, then verifes that cmake_pch.hxx.pch
is regenerated based on the dependencies.
The cmake_pch.hxx contains `#pragma system_header` before it includes
zot_pch.hxx. `#pragma system_header` indicates that the portion of the
file following the pragma is to be treated as a system header.
When `-QMMD` is used to generate dependencies, the `#include` of
zot_pch.hxx is ignored because it `-QMMD` says to ignore system headers.
Using `-QMD` instead uses all headers when generating dependencies
and causes this test to pass. The Clang configuration in
Platform/Windows-Clang.cmake also uses the `-MD` option for generating
pre-compiled headers, instead of `-MMD`.
Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
In commit a624a3e1b3 (Ninja: Use deps=gcc for Intel Compiler on Windows,
2019-01-30, v3.14.0-rc1~30^2) we forgot to account for commit 6d74e7870b
(Ninja: Add dependencies on system-provided header files, 2016-03-15,
v3.6.0-rc1~265^2).
3fe20db126 gitlab-ci: add jobs testing Intel 2022.0.2 compilers on Linux
6675fdd5c9 gitlab-ci: add jobs testing Intel 2021.4.0 compilers on Linux
ce8d471d94 gitlab-ci: add jobs testing Intel 2021.3.0 compilers on Linux
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6962
7b23fd6c1b Tests: Run CTest.UpdateBZR tests only if explicitly enabled
7cf5355d5e Tests: Add cache entries to control ExternalProject test VCS tools
c8b29dc5b9 Tests: Add cache entries to control existence of CTest.Update* tests
a70864e300 Tests: Make condition for CTest.UpdateCVS match pattern of other tools
1972a75536 Tests: Drop CTestUpdate.BZR test check for xmloutput plugin
f2566f6416 Tests: Drop unnecessary check for FindCVS module
530242576c Tests: Remove always-true condition enabling CTest.Update* tests
4e88a4228e Tests: Remove unused CVS tool discovery
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6956