| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
375e6fdbbe Link step: use linker dependency linker file
24a3e5cda0 cmLocalGenerator::MayBeRelativeToWorkDir: take care of all cases
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8443
|
| |
| |
| |
| |
| |
| | |
Based on work done by @ben.boeckel (!8051)
Fixes: #22217
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
7bf4e30090 Autogen: Default AUTOGEN_USE_SYSTEM_INCLUDE to ON if it is not set
033dc7ee2f Autogen: Add AUTOGEN_USE_SYSTEM_INCLUDE target property
8ba16db163 Tests/RunCMake: Add option for dynamic expected output
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8400
|
| |
| |
| |
| | |
Add policy CMP0151 to preserve the old behavior by default.
|
| |
| |
| |
| |
| |
| |
| | |
`AUTOGEN_USE_SYSTEM_INCLUDE` was added. `AUTOGEN_USE_SYSTEM_INCLUDE`
is a boolean property that can be set on a target to indicate that the
autogen target include directory should be added as a system include
directory or normal include directory to the target.
|
| |
| |
| |
| | |
Add `RunCMake_TEST_EXPECT_*` variables for this.
|
|/
|
|
|
|
| |
Extend commit 29e45a94b0 (Tests: Teach RunCMake to ignore Intel Classic
compiler deprecation warnings, 2022-10-03, v3.25.0-rc1~51^2~1) to cover
warnings from `icl` too.
|
|\
| |
| |
| |
| |
| |
| | |
550f63447d ExternalProject/FetchContent: Support relative remote URLs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7988
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Teach `ExternalProject_Add` and `FetchContent_Declare` to resolve
relative remote URLs provided via `GIT_REPOSITORY`. Add policy
CMP0150 to maintain compatibility.
Fixes: #24211
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
df58dbb0e9 VS: Add CMake input files to ZERO_CHECK
659e9ae937 cmGlobalVisualStudio8Generator: Collect CMake input files earlier
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8260
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add all cmake input files to the `ZERO_CHECK` project. Place files
under `CMAKE_SOURCE_DIR` in a folder structure matching the directory
structure. This way they are easier to find, and Visual Studio does not
close them when reloading the project.
Fixes: #24557
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
f552ba6e6d presets: add support for macro expansion to includes
1df24df01f presets: Fix encoding of env/penv macro expansion on Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8255
|
| |/ /
| | |
| | |
| | | |
Only `$penv{}` can be expanded when processing includes.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
fcacc319d9 IWYU: Return error code if user enables error reporting
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8406
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously CMake ignored the return code from iwyu because old versions
of the tool would exit with an error code even when no header include
violations were detected. The iwyu project has since changed this
behavior, so the tool no longer returns an error code unless the user
enables error reporting via command line arguments.
Behavior seen with iwyu version 0.19
Source file with missing includes:
- Case 1: iwyu arguments:
- return code: 0
- output: <report of all missing includes>
- Case 2: iwyu arguments: `-Xiwyu --error`
- return code: 1
- output: <report of all missing includes>
Source file with no missing includes:
- Case 1: iwyu arguments:
- return code: 0
- output: `(/path/to/file.cc has correct #includes/fwd-decls)`
- Case 2: iwyu arguments: `-Xiwyu --error`
- return code: 0
- output: `(/path/to/file.cc has correct #includes/fwd-decls)`
Teach CMake to return the iwyu return code if the user has invoked the
tool with any of these command line arguments included:
- `--error[=N]`
- `--error_always[=N]`
Fixes: #24066
|
| | |
|
|/
|
|
| |
Fixes: #24550, #24547
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
b855674f5d Tests: Always load presets schema as UTF-8
0de00b8b69 Sphinx: Modernize UTF-8 encoding handling when updating CMake.qhp
f0d6010cb5 Sphinx: Specify encoding when opening files for title extraction
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8402
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We know the encoding of the schema file, so we should specify it
when we open it for reading. Previously, by not specifying it, the test
was open to using an encoding based on the active locale when
running the test. We may have been enforcing a "C" locale at a higher
level, but we don't need to rely on that here, we can force correct
behavior without that assumption.
Issue: #24679
|
|/
|
|
| |
Fixes: #24549
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
8ecb645934 VS: Select Windows SDK matching WindowsSDKVersion env var
f90c8ab54e VS: Select latest available Windows SDK version by default
b512c53d43 VS: Add support for setting WindowsTargetPlatformVersion to 10.0
2f3d945f83 VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selection
f0a67b6291 VS: Parse comma-separated fields from CMAKE_GENERATOR_PLATFORM
e259063b0a VS: Defer Windows SDK selection until CMAKE_GENERATOR_PLATFORM is known
8499374c6a VS: Simplify logic to require SDK for Windows Store
1c8d4b4bf1 Tests: Teach RunCMake_TEST_FILTER to account for test variant description
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8389
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In an environment established by `vcvarsall.bat` or similar, this
environment variable may be set to select a Windows SDK version.
If the VS generator is used in such an environment, use that SDK.
This is similar to how `CMAKE_GENERATOR_INSTANCE` defaults using
a `VS##0COMNTOOLS` environment variable.
Fixes: #17992
|
| |
| |
| |
| |
| |
| |
| | |
Add policy `CMP0149` to stop preferring SDKs exactly matching
`CMAKE_SYSTEM_VERSION` over the latest SDK.
Fixes: #16202
|
| |
| |
| |
| |
| |
| |
| | |
VS 2019 and above support this value to select a SDK version
automatically.
Fixes: #21403
|
| |
| |
| |
| |
| |
| |
| | |
Add a `version=` field to explicitly control the SDK version selection
without relying on `CMAKE_SYSTEM_VERSION`.
Fixes: #16713
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | | |
3bb46b29fd Tests: Teach RunCMake to ignore Xcode DVTCoreDeviceEnabledState warnings
Merge-request: !8392
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On some Xcode versions, `xcodebuild` may warn:
... xcodebuild[...] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default
Teach RunCMake to drop such incidental lines before matching against
expected output.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 3958ed878f (LCC: Add policy CMP0129 regarding interpreting
LCC as GNU, 2021-10-19, v3.23.0-rc1~508^2) we intended to enable policy
`CMP0129` in RunCMake tests via `-DCMAKE_POLICY_DEFAULT_CMP0129=NEW`.
Fix the condition activating that to check `CMAKE_C_COMPILER_ID` where
it is always available.
Remove now-unnecessary CMP0129 settings in RunCMake cases.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
429a452705 Autogen: Add target's C++ standard to moc_predef.h
21f812e57c Autogen: Split creation and setup of custom targets into separate steps
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8359
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Generate `moc_predef.h` using the same C++ standard level that will be
used to compile the target so that the compiler's predefined macros can
be more accurately recovered.
Fixes: #24624
Qt-Issue: https://bugreports.qt.io/browse/QTBUG-110847
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8380
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated
since CMake 3.12. Add a policy to pretend they do not exist in order to
encourage projects to port to `FindPython` or `FindPython{2,3}`.
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Add JSON schema version 7 to support them.
Fixes: #22543
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
19305afd8a presets: Improve JSON parser and error messages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8290
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These files are symlinks to the real binaries, and we already apply
tweaks to those. Previously we generated installation tweak code
guarded by a `NOT IS_SYMLINK` condition that is never true. Drop the
code altogether.
Add a test covering the motivating use case, in which a `POST_BUILD`
step modifies the namelink file to not actually be a symlink.
Fixes: #24647
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
099934e313 Add generator expression support to static code analysis hooks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8361
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Teach target properties `<LANG>_CPPCHECK`, `<LANG>_CPPLINT`,
`<LANG>_CLANG_TIDY` and `<LANG>_INCLUDE_WHAT_YOU_USE` to accept
generator expressions.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8358
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Also clarify the `CMAKE_CROSSCOMPILING` documentation to state that
CMake sets the variable automatically.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
For Windows PE files the `file(GET_RUNTIME_DEPENDENCIES)` command
converts the name of all DLLs found during binary scanning to
lowercase in order to simplify the syntax requirements of its regex
filters; however, this has the side-effect of causing all DLL paths
returned via RESOLVED_DEPENDENCIES_VAR to be in lowercase, regardless
of their actual casing.
Instead, respect the original casing as closely as possible when
returning resolved dependencies after all filters have been
passed:
When evaluating a Windows PE format binary on a non-Windows host
the casing of dependencies recorded within the binary are
used. When the host is running Windows, the actual casing of the
dependencies on-disk are used instead.
Fixes: #23091
|
|/ / /
| | |
| | |
| | | |
Issue: #23091
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1d12853ed3 file(REAL_PATH): Ensure same behavior as get_filename_component(REALPATH)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8348
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #24605
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
843fc607de Ninja: Restore detection of clang-cl showIncludes prefix
3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8344
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes
prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer
matches the output from `clang-cl`, which uses a relative path, forward
slashes, and is always in English [1]:
Note: including file: ./foo.h
Update the regex to match that too.
[1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/HeaderIncludeGen.cpp#L102
Co-authored-by: Brad King <brad.king@kitware.com>
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
4c866cac40 VS: Do not regenerate build system concurrently with CMP0147
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8329
|