Commit Graph

56165 Commits

Author SHA1 Message Date
Brad King df3e29450a find_package: Mention package name in Config mode debug output
Otherwise, if there are no paths considered then the output does not
specify the name of the package.
2022-02-10 16:30:09 -05:00
Brad King 636ca7f25c find_package: Fix find module name in --debug-find output 2022-02-10 16:30:09 -05:00
Brad King 596e185409 find_package: Improve formatting of --debug-find output
Also spell out more complete content in the test's expect output.
2022-02-10 16:30:04 -05:00
Brad King 2f43527574 Tests: Improve order of RunCMake.find_package cases
Sort recently added cases among similar-named cases.
2022-02-10 15:25:05 -05:00
Brad King a690523fcf cmFindPackageCommand: Drop ComputeIfDebugModeWanted overload
The overload for `--debug-find-pkg` has the same signature as the base
class method for `--debug-find-var`.  To avoid confusion, drop the
overload and inline it its only call site.
2022-02-10 15:25:05 -05:00
Brad King 0a08377c4a Merge branch 'release-3.22' into release-3.23 2022-02-10 09:13:51 -05:00
Brad King fe5b2e8beb Merge topic 'doc-if-AND-OR' into release-3.23
41adfc6b04 Help: Clarify precedence of AND and OR in 'if' conditions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6970
2022-02-10 09:11:13 -05:00
Brad King 5b480172c3 Merge topic 'clang-cross-compile-windows-pdb' into release-3.23
641cb1093b Windows/Clang: Support PDB when cross-compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !6959
2022-02-10 09:09:09 -05:00
Brad King 5a65e08644 Merge topic 'restore-target-export-includes' into release-3.23
83d79636bf install(TARGETS): Restore per-export INCLUDES DESTINATION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6969
2022-02-10 09:07:34 -05:00
Brad King fdbc00fc47 Merge topic 'IntelLLVM-depfile-flags' into release-3.23
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
2022-02-10 08:50:08 -05:00
Brad King d231d66082 Merge topic 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.23
dca3a032d1 Help: Add MSVC_TOOLSET_VERSION value for v143 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6966
2022-02-10 08:48:21 -05:00
Brad King 41adfc6b04 Help: Clarify precedence of AND and OR in 'if' conditions
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
2022-02-09 14:24:43 -05:00
Eugene Shalygin 83d79636bf install(TARGETS): Restore per-export INCLUDES DESTINATION
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
2022-02-09 13:31:26 -05:00
Brad King 21d8a86804 Merge branch 'release-3.21' into release-3.22 2022-02-09 10:09:55 -05:00
Brad King 1a30d3ade5 Merge branch 'backport-IntelLLVM-depfile-flags' into release-3.22
Merge-request: !6964
2022-02-09 10:09:51 -05:00
Brad King be20a94fac Merge branch 'backport-IntelLLVM-depfile-flags' into release-3.21
Merge-request: !6964
2022-02-09 10:09:28 -05:00
Brad King 1e947fcb83 Merge branch 'backport-IntelLLVM-depfile-flags' into IntelLLVM-depfile-flags 2022-02-09 10:08:52 -05:00
William R. Dieter a8b6bf9a38 IntelLLVM: Add dependencies on system header files on Windows
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>
2022-02-09 10:07:51 -05:00
Brad King 94f1bbdd54 Intel: Add dependencies on system header files on Windows
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).
2022-02-09 10:07:51 -05:00
Brad King 298bf1ed9d Merge branch 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.22
Merge-request: !6966
2022-02-09 09:54:44 -05:00
Brad King 4423fa2b38 Merge branch 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.21
Merge-request: !6966
2022-02-09 09:54:18 -05:00
Heiko Thiel dca3a032d1 Help: Add MSVC_TOOLSET_VERSION value for v143 toolset
This was accidentally left out of commit f01ea7e391 (MSVC: Fix
MSVC_TOOLSET_VERSION for VS 2022 v143 toolset, 2019-04-03,
v3.21.3~10^2~1).
2022-02-09 09:53:11 -05:00
Deniz Bahadir 641cb1093b Windows/Clang: Support PDB when cross-compiling 2022-02-09 00:38:09 +01:00
Brad King a15cc7706d CMake 3.23.0-rc1 v3.23.0-rc1 2022-02-08 10:43:14 -05:00
Brad King 0167dc0b1b Merge branch 'release-3.22' into release-3.23 2022-02-08 10:41:59 -05:00
Brad King 46ef6a5555 Merge topic 'FindGSL-version-regex' into release-3.23
b67ff61c3a FindGSL: Improve version extraction regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6960
2022-02-08 10:41:17 -05:00
Brad King b91c4dfb75 Merge branch 'FindGSL-version-regex' into release-3.22
Merge-request: !6960
2022-02-08 10:31:16 -05:00
مهدي شينون (Mehdi Chinoune) b67ff61c3a FindGSL: Improve version extraction regex
Backport commit 58f2708b90 (FindGSL: Improve version extraction regex,
2021-12-17) to the CMake 3.22 branch.

Fixes: #23017
2022-02-08 10:21:15 -05:00
Brad King 6e32db4fb3 Merge topic 'dotnet_sdk' into release-3.23
5cdd774d51 VS: Handle build target correct for .NET SDK style projects with Any CPU
309191052c VS: Set Visual Studio versions read out from solution file
f7791698cb VS: Allow setting output directory in .NET SDK style projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6944
2022-02-08 08:39:34 -05:00
Brad King 5bf6e57a12 Merge topic 'GoogleTest-discover-type-params' into release-3.23
073dd1bd81 GoogleTest: Change format for typed tests
f28f738bd2 GoogleTest: Fix type param tests for suites with many cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6958
2022-02-08 08:35:18 -05:00
Evgeniy Shcherbina 073dd1bd81 GoogleTest: Change format for typed tests
Before it would output a typed test as follows:
  Suit/Type.Case
And now it would be:
  Suit.Case<Type>

In case of NO_PRETTY_TYPES it would simply use the type number
instead of its text representation:
  Suit.Case<0>

The change is introduced to make sure CTest outputs tests in a
similar fashion which is "*Suit.Case*" and angle brackets "<>"
emphasize that we are dealing with a typed (template) kind.
2022-02-07 12:53:17 -05:00
Evgeniy Shcherbina f28f738bd2 GoogleTest: Fix type param tests for suites with many cases
When there were many cases (two digits or more) the "prettier" would
fail to recognize the pretty part leaving the test name unprocessed.
The fix made sure the processing would work correctly, irrespective
of the case number.

Before the fix, for the following input:
TypedSuite/1.  # TypeParam = int
  case
TypedSuite/10.  # TypeParam = char
  case
The output would be:
TypedSuite/int.case
TypedSuite/10.  # TypeParam = char.case

Now the output will be:
TypedSuite/int.case
TypedSuite/char.case
2022-02-07 12:53:16 -05:00
Brad King 860dbece00 Merge topic 'doc-DESTDIR' into release-3.23
a9b8c9d33e Help: Clarify roles of DESTDIR and CMAKE_INSTALL_PREFIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6955
2022-02-07 11:49:26 -05:00
Florian Schweiger 5cdd774d51 VS: Handle build target correct for .NET SDK style projects with Any CPU
* Extend Visual Studio solution parser for reading build target
* Map solution build target to project build target (especially for Any CPU)
* Use C++ <optional> template instead of pointer return value for cmSlnData::GetProjectByGUID
2022-02-07 13:08:37 +01:00
Florian Schweiger 309191052c VS: Set Visual Studio versions read out from solution file 2022-02-07 13:07:40 +01:00
Florian Schweiger f7791698cb VS: Allow setting output directory in .NET SDK style projects 2022-02-07 12:03:03 +01:00
Brad King a9b8c9d33e Help: Clarify roles of DESTDIR and CMAKE_INSTALL_PREFIX 2022-02-04 15:33:11 -05:00
Brad King 5c9bf43a1f Merge branch 'release-3.22' into release-3.23 2022-02-04 08:21:25 -05:00
Brad King a2b5ef3b36 Merge topic 'default-extensions' into release-3.23
4ef6e27cb9 CompilerId: Fix default extensions check for Clang targeting MSVC ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6949
2022-02-04 08:20:21 -05:00
Brad King ce00bfd75e Merge topic 'vs-simplify-pch' into release-3.23
dd1e2cc80c VS: Simplify generation of per-source PCH settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6950
2022-02-04 08:19:18 -05:00
Brad King 01b89d2547 Merge topic 'ep-patch-USES_TERMINAL' into release-3.23
cbb87e0a2c ExternalProject: Add support for USES_TERMINAL_PATCH keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6940
2022-02-04 08:18:12 -05:00
Brad King c8a955584d Merge topic 'GoogleTest-discover-spaces-in-parameters' into release-3.23
fd6b8fa40e GoogleTest: Preserve spaces in test parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6941
2022-02-04 08:13:06 -05:00
Brad King 3900a31f44 Merge topic 'test-mfc-explicit' into release-3.23
9d621ceba1 Tests: Run MFC test only when explicitly enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6943
2022-02-04 08:08:23 -05:00
Brad King 793c3dcabc Merge topic 'rel-version' into release-3.23
bd11d78dfc Help/dev: Clarify maintainer guide step for DEVEL_CMAKE_VERSION
d184bf0659 Replace DEVEL_CMAKE_VERSION with literal 3.23 release version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6951
2022-02-04 08:06:15 -05:00
Brad King bd11d78dfc Help/dev: Clarify maintainer guide step for DEVEL_CMAKE_VERSION
The previous wording could be misread as ensuring the arguments to the
call match the release version.  Clarify that one needs to remove the
call and replace it with the literal release version string.
2022-02-04 06:48:58 -05:00
Brad King d184bf0659 Replace DEVEL_CMAKE_VERSION with literal 3.23 release version
This was accidentally left out of commit 736663deed (Begin 3.23 release
versioning, 2022-02-03).  The step is documented as part of the release
branching process in the CMake Maintainer Guide `Help/dev/maint.rst`.
2022-02-04 06:44:22 -05:00
Brad King dd1e2cc80c VS: Simplify generation of per-source PCH settings
Avoid looking up the PCH create/use flags just to map them through
flag tables back to the `.vcxproj` settings.  Instead, simply
generate the PCH settings directly for each source file.

Since commit 9df1f33c9a (VisualStudio: move PCH rules to projects when
possible., 2020-10-15, v3.20.0-rc1~638^2) we already do this for the
target-wide PCH settings.
2022-02-03 15:52:22 -05:00
Brad King d60647a52b Merge branch 'default-extensions' into release-3.22
Merge-request: !6949
2022-02-03 12:52:45 -05:00
Brad King 4ef6e27cb9 CompilerId: Fix default extensions check for Clang targeting MSVC ABI
In commit fc3a1cbdd8 (CompilerID: Compiler extensions default detection,
2021-05-29, v3.22.0-rc1~52^2~2), extensions were assumed to be `OFF`
for Clang targeting the MSVC ABI.  However, the `clang` and `clang++`
tools both seem to have extensions enabled by default even when
targeting the MSVC ABI.

This can be observed with the `RunCMake.CompileFeatures` test.
It fails with the GNU-like `clang/clang++` front-end, but removing
the above special case makes it pass.  The test passes either way
with the MSVC-like `clang-cl` front-end.
2022-02-03 12:06:00 -05:00
Brad King c63ee048cb Merge topic 'doc-cmcmd-versionadded' into release-3.23
892c96dda0 Help: add versionadded markup to cmake -E commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6946
2022-02-03 10:13:28 -05:00