summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Improve order of RunCMake.find_package casesBrad King2022-02-101-3/+2
| | | | Sort recently added cases among similar-named cases.
* cmFindPackageCommand: Drop ComputeIfDebugModeWanted overloadBrad King2022-02-102-9/+2
| | | | | | 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.
* Merge branch 'release-3.22' into release-3.23Brad King2022-02-100-0/+0
|\
| * Merge branch 'release-3.21' into release-3.22Brad King2022-02-090-0/+0
| |\
| | * Merge branch 'backport-IntelLLVM-depfile-flags' into release-3.21Brad King2022-02-093-3/+3
| | |\ | | | | | | | | | | | | Merge-request: !6964
| | * \ Merge branch 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.21Brad King2022-02-091-0/+1
| | |\ \ | | | | | | | | | | | | | | | Merge-request: !6966
| * | \ \ Merge branch 'backport-IntelLLVM-depfile-flags' into release-3.22Brad King2022-02-093-3/+3
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | Merge-request: !6964
| * | | | Merge branch 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.22Brad King2022-02-091-0/+1
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | Merge-request: !6966
* | | | | Merge topic 'doc-if-AND-OR' into release-3.23Brad King2022-02-104-8/+24
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 41adfc6b04 Help: Clarify precedence of AND and OR in 'if' conditions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6970
| * | | | | Help: Clarify precedence of AND and OR in 'if' conditionsBrad King2022-02-094-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge topic 'clang-cross-compile-windows-pdb' into release-3.23Brad King2022-02-102-1/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | Windows/Clang: Support PDB when cross-compilingDeniz Bahadir2022-02-082-1/+3
| |/ / / / /
* | | | | | Merge topic 'restore-target-export-includes' into release-3.23Brad King2022-02-1011-13/+70
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83d79636bf install(TARGETS): Restore per-export INCLUDES DESTINATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6969
| * | | | | | install(TARGETS): Restore per-export INCLUDES DESTINATIONEugene Shalygin2022-02-0911-13/+71
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge topic 'IntelLLVM-depfile-flags' into release-3.23Brad King2022-02-103-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * \ \ \ \ \ Merge branch 'backport-IntelLLVM-depfile-flags' into IntelLLVM-depfile-flagsBrad King2022-02-093-3/+3
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | / / | | | |_|/ / | | |/| | |
| | * | | | IntelLLVM: Add dependencies on system header files on WindowsWilliam R. Dieter2022-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | | | Intel: Add dependencies on system header files on WindowsBrad King2022-02-092-2/+2
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | | | | Merge topic 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.23Brad King2022-02-101-0/+1
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | dca3a032d1 Help: Add MSVC_TOOLSET_VERSION value for v143 toolset Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6966
| * | | Help: Add MSVC_TOOLSET_VERSION value for v143 toolsetHeiko Thiel2022-02-091-0/+1
| |/ / | | | | | | | | | | | | | | | 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).
* | | CMake 3.23.0-rc1v3.23.0-rc1Brad King2022-02-081-1/+1
| | |
* | | Merge branch 'release-3.22' into release-3.23Brad King2022-02-080-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'FindGSL-version-regex' into release-3.22Brad King2022-02-081-1/+1
| |\ \ | | | | | | | | | | | | Merge-request: !6960
* | \ \ Merge topic 'FindGSL-version-regex' into release-3.23Brad King2022-02-080-0/+0
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | b67ff61c3a FindGSL: Improve version extraction regex Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6960
| * | | FindGSL: Improve version extraction regexمهدي شينون (Mehdi Chinoune)2022-02-081-1/+1
| |/ / | | | | | | | | | | | | | | | | | | Backport commit 58f2708b90 (FindGSL: Improve version extraction regex, 2021-12-17) to the CMake 3.22 branch. Fixes: #23017
* | | Merge topic 'dotnet_sdk' into release-3.23Brad King2022-02-085-34/+154
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | VS: Handle build target correct for .NET SDK style projects with Any CPUFlorian Schweiger2022-02-074-32/+119
| | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | | VS: Set Visual Studio versions read out from solution fileFlorian Schweiger2022-02-072-2/+24
| | | |
| * | | VS: Allow setting output directory in .NET SDK style projectsFlorian Schweiger2022-02-071-0/+11
| | | |
* | | | Merge topic 'GoogleTest-discover-type-params' into release-3.23Brad King2022-02-086-36/+57
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | GoogleTest: Change format for typed testsEvgeniy Shcherbina2022-02-075-45/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | GoogleTest: Fix type param tests for suites with many casesEvgeniy Shcherbina2022-02-076-10/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge topic 'doc-DESTDIR' into release-3.23Brad King2022-02-072-11/+30
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a9b8c9d33e Help: Clarify roles of DESTDIR and CMAKE_INSTALL_PREFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6955
| * | | | | Help: Clarify roles of DESTDIR and CMAKE_INSTALL_PREFIXBrad King2022-02-042-11/+30
|/ / / / /
* | | | | Merge branch 'release-3.22' into release-3.23Brad King2022-02-040-0/+0
|\ \ \ \ \ | | |_|/ / | |/| | |
| * | | | Merge branch 'default-extensions' into release-3.22Brad King2022-02-033-7/+4
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !6949
* | \ \ \ \ Merge topic 'default-extensions' into release-3.23Brad King2022-02-043-7/+4
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | CompilerId: Fix default extensions check for Clang targeting MSVC ABIBrad King2022-02-033-7/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge topic 'vs-simplify-pch' into release-3.23Brad King2022-02-041-9/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd1e2cc80c VS: Simplify generation of per-source PCH settings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6950
| * | | | | VS: Simplify generation of per-source PCH settingsBrad King2022-02-031-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Merge topic 'ep-patch-USES_TERMINAL' into release-3.23Brad King2022-02-047-11/+37
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | cbb87e0a2c ExternalProject: Add support for USES_TERMINAL_PATCH keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6940
| * | | | | ExternalProject: Add support for USES_TERMINAL_PATCH keywordCraig Scott2022-02-037-11/+37
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings the patch step into line with all the others which already had their own `USES_TERMINAL_<step>` keyword. All steps (including patch) already have their own `LOG_<step>` keyword too, so the lack of `USES_TERMINAL_PATCH` was inconsistent.
* | | | | Merge topic 'GoogleTest-discover-spaces-in-parameters' into release-3.23Brad King2022-02-044-5/+13
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd6b8fa40e GoogleTest: Preserve spaces in test parameters Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6941
| * | | | | GoogleTest: Preserve spaces in test parametersEvgeniy Shcherbina2022-02-034-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the fix the gtest_discover_tests() function would strip the user data in test parameters (everything to the right of GetParam()) of spaces. Now the parameters aren't altered in any way. Fixes #23058
* | | | | | Merge topic 'test-mfc-explicit' into release-3.23Brad King2022-02-047-111/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9d621ceba1 Tests: Run MFC test only when explicitly enabled Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6943
| * | | | | | Tests: Run MFC test only when explicitly enabledBrad King2022-02-037-111/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we used a complicated heuristic to decide whether or not to run the MFC test, but it sometimes decided incorrectly to run the test. Since that was first written, we have developed a convention for other tests to enable them via undocumented cache entries that are added only on machines known to meet the tests' requirements. Do that for MFC.
* | | | | | | Merge topic 'rel-version' into release-3.23Brad King2022-02-042-4/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | | Help/dev: Clarify maintainer guide step for DEVEL_CMAKE_VERSIONBrad King2022-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | | Replace DEVEL_CMAKE_VERSION with literal 3.23 release versionBrad King2022-02-041-2/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* | | | | | | Merge topic 'doc-cmcmd-versionadded' into release-3.23Brad King2022-02-031-11/+109
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 892c96dda0 Help: add versionadded markup to cmake -E commands Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6946