| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Previously an internal error was raised which ended up causing an
internal exception to be thrown. This is a typo situation that should
fall into an explicit error.
Fixes: #25207
|
|
|
|
| |
Fixes: #25191
|
|
|
|
|
|
|
| |
* ensure tapi lookup is applied only for concerned toolchains
* fix typos in tests
Fixes: #25182
|
|
|
|
|
|
|
|
|
| |
The policy added by commit f90c8ab54e (VS: Select latest available
Windows SDK version by default, 2023-04-03, v3.27.0-rc1~206^2~1) applied
only when targeting Windows 10+. Apply it to older versions too.
Fixes: #25170
Issue: #16202
|
|
|
|
|
|
|
| |
Honor an explicit `version=8.1` field value regardless of the Windows
target version.
Issue: #25170
|
|
|
|
|
|
|
| |
Honor an explicit `version=` field selecting a Windows 10 SDK regardless
of the Windows target version.
Issue: #25170
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactoring in commit bff468c988 (cmFileCommand: Use cm::optional for
keyword argument presence, 2022-06-30, v3.25.0-rc1~512^2) accidentally
broke the check that the input argument is either `INPUT` or `CONTENT`.
The check is supposed to fail when arguments are passed in the wrong
order. For example:
file(GENERATE OUTPUT ...
TARGET <target>
CONTENT <content>)
Prior to this fix, the input method would be CONTENT, but because the
first parsed keyword is not `CONTENT`, `inputIsContent` would be false.
The first parsed keyword isn't INPUT either, so we would not continue
into the error condition. CMake would then try to handle this as an
input file, when there isn't one, resulting in uninitialized memory
usage and segfaults or corruption later on.
Fixes: #25169
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit df58dbb0e9 (VS: Add CMake input files to ZERO_CHECK,
2023-03-19, v3.27.0-rc1~157^2), projects that specify the same file both
as input to `configure_file` and as the `MAIN_DEPENDENCY` of a custom
command fail to configure. Revert the change pending further
investigation. Add a test case demonstrating the problem.
Issue: #24557
Fixes: #25149
|
|
|
|
| |
Fixes: #25120
|
|
|
|
|
| |
Add a test case for C++ `OBJECT` libraries providing modules to
consumers.
|
|
|
|
|
|
|
|
|
| |
Refactoring in commit 72d116ee68 (GenEx: list oriented genexes use
cmList class, 2023-03-29, v3.27.0-rc1~205^2) accidentally caused
empty elements to be dropped by the `REMOVE_DUPLICATES` genex.
Fix it and add a test case.
Fixes: #25080
|
|
|
|
| |
Fixes: #24618
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
9ede4cab2b FetchContent: Protect ExternalProject keywords from unknown arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !8598
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`ExternalProject_Add` treats all keyword arguments as multi-valued.
FetchContent re-orders some keyword arguments w.r.t. unparsed arguments.
Add an internal keyword argument to separate the keyword values from
following unparsed arguments.
This was exposed by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) by adding
`GIT_REPOSITORY` to the set of re-ordered keyword arguments. This
caused its value to absorb following unparsed arguments.
Fixes: #25029
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
b9c99830c5 VS: Fix C++ modules in source files with the same name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8596
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When multiple source files in a single target have the same name, we
already set `ObjectFileName` explicitly to avoid a `.obj` collision. For
C++ module sources, set `Module{Output,Dependencies}File` to avoid
`.ifc` and `.module.json` collisions.
Fixes: #25038
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8588
|
| |/
| |
| |
| | |
Fixes: #25019
|
|/
|
|
|
|
|
| |
Unfortunately it breaks in combination with LTO due to a bug in the GNU
linker.
Fixes: #25014
|
|
|
|
| |
Fixes: #25002
|
|
|
|
|
|
| |
The test added by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) covers
Git-specific functionality, and requires a `git` tool to be available.
|
|\
| |
| |
| |
| |
| |
| |
| | |
1df3287bf6 add_test: Restore support for empty test arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8551
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was regressed by refactoring in commit e08ba229ee (CMake code rely
on cmList class for CMake lists management (part. 1), 2023-04-14,
v3.27.0-rc1~174^2). Fix it and add a test case.
Fixes: #24986
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This handles the case where `COLOR` is set to some ANSI-like color
sequence in the ambient environment. These sequences tend to include `;`
which terminates the command and tries to use the next component
(typically an integer, possibly with a trailing `m`) with errors like:
/bin/sh: line 1: 2: command not found
/bin/sh: line 1: 255: command not found
/bin/sh: line 1: 221: command not found
/bin/sh: line 1: 255m: command not found
Also add a test that sets `COLOR` in the environment which affects the
generated Makefiles behavior.
See: https://discourse.cmake.org/t/cmake-failing-gcc-compiler-checks/8277
|
|\
| |
| |
| |
| |
| |
| | |
36ec89639a VERIFY_INTERFACE_HEADER_SETS: Skip header files that have SKIP_LINTING
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8540
|
| |
| |
| |
| | |
Fixes: #24972
|
|\ \
| |/
|/|
| |
| |
| |
| | |
bfa5b430b3 Apple text-based stubs: ensure runpath is correctly defined
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8536
|
| |
| |
| |
| | |
This is a complement to !8204.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
99b2ccf80d cmake_file_api: New project command
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8530
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Projects can use the new command to request file API replies for the current
run. No query files are generated, the query is tracked internally. Replies are
created in the file system at generation time in the usual way.
Fixes: #24951
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
3e462202a7 Test: Generate pseudo linters generator independent
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8532
|
| | |/
| |/|
| | |
| | | |
Fixes: #24968
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
54c5654f7d ctest: Optionally terminate tests with a custom signal on timeout
e38c05688e CTest/cmProcess: Adopt field tracking reason for the process timeout
25c1468314 cmCTestTestHandler: Remove outdated comment
41e8507ab7 IWYU: Add mapping for bits/chrono.h to chrono
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8472
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
CTest normally terminates test processes on timeout using `SIGKILL`.
Offer tests a chance to exit gracefully, on platforms supporting POSIX
signals, by setting `TIMEOUT_SIGNAL_{NAME,GRACE_PERIOD}` properties.
Fixes: #17288
|
| |/
|/|
| |
| | |
It is now subsumed by the UUID setting completely.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7b62a83c6f cxxmodules: update the experimental UUID
6ff5cdc533 cxxmodules: remove support for `CXX_MODULE_HEADER_UNITS` filesets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8510
|
| | |
| | |
| | |
| | |
| | | |
Syntactic support for C++ header units has been removed, so a new UUID
is warranted.
|
| |/
| |
| |
| |
| | |
There's no backing implementation for header units anyways, so just
remove it for now.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
da27ff1e96 Preserve --compile-no-warning-as-error in automatic CMake re-runs
e0b48284a1 Xcode: Internally uses -S instead of -H to specify source directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8522
|
| |
| |
| |
| |
| |
| |
| |
| | |
When the build system re-runs `cmake` to regenerate itself, preserve the
`--compile-no-warning-as-error` option if it was used when `cmake` was
last explicitly invoked. Normally such settings are preserved in the
cache, but the purpose of this option is to be beyond the reach of
project code.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
2bb3d9b644 Autogen: Fix multi-config generated file issue
3bd605f3d0 Autogen: Optimize cmake_autogen execution for CROSS_CONFIG usage
f2f21c5752 Improve Const Correctness
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8507
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The default config was an empty string when a `multi-config`
generator is used. An if check was added for those situations.
If a source file has a specific config configuration,
it is used with `$<CONFIG>` in the `multi-config` generator usage.
Fixes: #24848
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8451a3f0b5 cmGlobalGenerator: use a stream for output in `Build`
e060666531 cmake: write the build command itself with `--verbose`
b017c9f127 cmGlobalGenerator: fix off-by-one for `&&` command joining
c715fd8d76 cmGlobalGenerator: quote commands in `::Build` output
d6c0e827bc cmGlobalGenerator: add a `QuotedPrintable` method for commands
28ee3bef34 cmGlobalGenerator: add missing spaces in output
465ab8d872 cmGlobalGenerator: use `cmStrCat` in `::Build`
81d45dabc4 cmOutputConverter: add a `static` version of `EscapeForShell`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8183
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows output to show up in output immediately instead of being
batched.
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Depends on cppdap and jsoncpp.
- Add --debugger argument to enable the Debugger.
- Add --debugger-pipe argument for DAP traffics over named pipes.
- Support breakpoints by filenames and line numbers.
- Support exception breakpoints.
- Call stack shows filenames and line numbers.
- Show Cache Variables.
- Show the state of currently defined targets,
tests and directories with their properties.
- Add cmakeVersion to DAP initialize response.
- Include unit tests.
Co-authored-by: Ben McMorran <bemcmorr@microsoft.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A misconfigured compiler may pass extraneous implicit link directories
to its linker. If they are in `CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`,
CMake may generate extra `-L` flags on mixed-language link lines that
break linking. Add an environment variable that users can set to work
around such misconfiguration of their compilers.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When generating the `IMPORTED_CXX_MODULES_[CONFIG]` target property,
there was a missing path separator after a non-empty relative directory
part of the path to a module source file.
Co-authored-by: Brad King <brad.king@kitware.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Calling `install(EXPORT)` with the `CXX_MODULES_DIRECTORY` parameter
leads to installation rules being generated which `include()` CMake
scripts that set the `IMPORTED_CXX_MODULES_[CONFIG]` target property for
relevant targets. However, these scripts don't get generated for
targets in an export set which don't have any C++20 modules. When the
installation rules attempt to `include()` the missing scripts, the
install fails.
Co-authored-by: Brad King <brad.king@kitware.com>
|
| | | |
|