summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* VS: Introduce IsInSolution to check whether a target is in sln fileSumit Bhardwaj2022-02-124-3/+12
| | | | | | | | | | | Previously, different versions of VS Generators checked whether a target was in .sln file or not by checking whether the target was to be written to build system or not. As we move `ZERO_CHECK.vcxproj` to `.proj`, we want to exclude those files from being written to `.sln` files too. This commit introduces `IsInSolution()` at `cmGlobalVisualStudioGenerator` level which can be customized at specific versioned Generator when needed.
* VS: Add proj as a project type to VsProjectTypeSumit Bhardwaj2022-02-123-2/+18
| | | | | | | Add `proj` as a project type to VsProjectType so that it can be consumed by `ZERO_CHECK` target. This commit adds the type and cleans up the code that needs to treat `proj` and `csproj` in the same fashion. Next commit will make changes to add `ZERO_CHECK.proj`.
* cmGlobalVisualStudio7Generator: Drop unused methodBrad King2022-02-122-18/+0
| | | | | | Since commit f47b4f68a9 (Drop Visual Studio 7 generator for VS .NET 2002, 2016-03-10, v3.6.0-rc1~268^2), the `WriteTargetDepends` method has not been used.
* Merge branch 'release-3.23'Brad King2022-02-100-0/+0
|\
| * Merge branch 'release-3.22' into release-3.23Brad King2022-02-100-0/+0
| |\
* | \ Merge branch 'release-3.22'Brad 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.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 branch 'release-3.21'Brad King2022-02-100-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 'release-3.23'Brad King2022-02-100-0/+0
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | 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
* | \ \ \ \ \ Merge topic 'doc-if-AND-OR'Brad 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 branch 'release-3.23'Brad King2022-02-100-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | 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
* | \ \ \ \ \ \ Merge topic 'clang-cross-compile-windows-pdb'Brad 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 branch 'release-3.23'Brad King2022-02-100-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | 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
* | \ \ \ \ \ \ Merge topic 'restore-target-export-includes'Brad 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 branch 'release-3.23'Brad King2022-02-100-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | 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 topic 'IntelLLVM-depfile-flags'Brad 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 branch 'release-3.23'Brad King2022-02-100-0/+0
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | 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
* | | | | Merge topic 'doc-MSVC_TOOLSET_VERSION-v143'Brad 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 Nightly Date StampKitware Robot2022-02-101-1/+1
| | | |
* | | | Merge topic 'genex-LINK_LIBRARY-to-decorate-library'Brad King2022-02-09167-359/+2456
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2a6b0415d7 $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target property 42965799b4 Genex: Add $<LINK_LIBRARY:...> 78dd7d5292 cmRulePlaceholderExpander: add base class for placeholder expansion reuse 4b55828a9f cmExpandListWithBacktrace: add handling of empty elements. 28d7432468 cmComputeLinkInformation: use cmComputeLinkDepends::LinkEntry Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6769
| * | | | $<LINK_LIBRARY>: Add LINK_LIBRARY_OVERRIDE target propertyMarc Chevrier2022-02-0841-31/+383
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To enable the management of incompatible $<LINK_LIBRARY> declarations, add LINK_LIBRARY_OVERRIDE and LINK_LIBRARY_OVERRIDE_<LIBRARY> target properties.
| * | | | Genex: Add $<LINK_LIBRARY:...>Marc Chevrier2022-02-07131-151/+1825
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This generator expression offers the capability, for the link step, to decorate libraries with prefix/suffix flags and/or adding any specific flag for each library. Fixes: #22812, #18751, #20078, #22703
| * | | | cmRulePlaceholderExpander: add base class for placeholder expansion reuseMarc Chevrier2022-02-066-148/+187
| | | | |
| * | | | cmExpandListWithBacktrace: add handling of empty elements.Marc Chevrier2022-02-063-7/+8
| | | | |
| * | | | cmComputeLinkInformation: use cmComputeLinkDepends::LinkEntryMarc Chevrier2022-02-063-57/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation of support of genex $<LINK_LIBRARY:...>, propagate cmComputeLinkDepends::LinkEntry instances to ensure to have, when needed, all attributes attached to the link item.
* | | | | Merge topic 'trace-global-frame'Brad King2022-02-098-10/+45
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a41d6e4d7a Trace: add global_frame field to json-v1 format Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6954
| * | | | | Trace: add global_frame field to json-v1 formatBraulio Valdivielso Martinez2022-02-078-10/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tools using the json-v1 format might want to trace stack frames across different `CMakeLists.txt` files, in order to, for example, provide stacktraces that span from the top-level `CMakeLists.txt` in a project. One would think that `frame` lets you do that, but it doesn't, because it tells you the depth of the stack within the current `CMakeLists.txt`, so it gets reset across calls to `add_subdirectory`. The solution involves adding a field with a "global frame". This value gets incremented on calls to `add_subdirectory`, which makes it easier for tools to reconstruct "global stacktraces". I considered changing the current "frame" value, but I didn't because it would be a breaking change. I cannot think of any use-case where "frame" is more useful to "global-frame", but maybe I'm missing something.
* | | | | | Merge topic 'vs_buildcache_support'Brad King2022-02-098-1/+73
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b764c7c273 VS: Add property to turn off Visual Studio compile batching Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6957
| * | | | | | VS: Add property to turn off Visual Studio compile batchingKaloyan Donev2022-02-088-1/+73
| |/ / / / / | | | | | | | | | | | | | | | | | | Resolves: #23179
* | | | | | Merge topic 'ci-intel-compiler'Brad King2022-02-091-0/+42
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | | gitlab-ci: add jobs testing Intel 2022.0.2 compilers on LinuxBrad King2022-02-081-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that the classic compiler version is 2021.5.0, but we still have it in the 2022.0.2 base image.
| * | | | | | gitlab-ci: add jobs testing Intel 2021.4.0 compilers on LinuxBrad King2022-02-081-0/+14
| | | | | | |
| * | | | | | gitlab-ci: add jobs testing Intel 2021.3.0 compilers on LinuxBrad King2022-02-081-0/+14
| | | | | | |
* | | | | | | Merge topic 'ci-clang-windows'Brad King2022-02-091-0/+15
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6bda940c25 ci: Add nightly CI job for clang++ with NMake Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6961