Since commit 84db8506ff (Deprecate compatibility with CMake versions older
than 3.10, 2024-10-03, v3.31.0-rc1~23^2) the `cmake_minimum_required` and
`cmake_policy` commands warn if the project does not enable policies as
of 3.10 or higher. Clarify the advice given in the warning message about
how to update the version specification, particularly without actually
requiring a newer minimum version of CMake.
Issue a deprecation warning on calls to `cmake_minimum_required` or
`cmake_policy` that set policies based on versions older than 3.10.
Note that the effective policy version includes `...<max>` treatment.
Update the check from commit 3a4791548d (Deprecate compatibility with
CMake versions older than 3.5, 2023-02-09, v3.27.0-rc1~508^2).
On some Xcode versions, `xcodebuild` may warn:
... xcodebuild[...] DVTAssertions: Warning ...
Teach RunCMake to drop such incidental lines before matching against
expected output.
This will more accurately emulate how a shell would run CMake.
Also, don't set $ENV{PWD} in Tests/RunCMake/SymlinkTrees, since RunCMake is
now already doing this.
This flag is needed for now to tell `flang-new` to support creating
executables. In our CI job we always pass this flag, but it is not
always used. The compiler may warn:
flang-new: warning: argument unused during compilation: '-flang-experimental-exec'
Teach RunCMake to drop such incidental lines before matching against
expected output.
The Intel Fortran compiler may remark:
ifx: remark #10440: Note that use of a debug option without any
optimization-level option will turnoff most compiler optimizations
similar to use of '-O0'
Teach RunCMake to drop such incidental lines before matching against
expected output.
This extends commit b2d030e8fe (Tests: Teach RunCMake to ignore Intel
-Rdebug-disables-optimization remarks, 2022-06-14, v3.26.0-rc1~395^2)
to cover the `ifx` Fortran compiler too.
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
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
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.
Issue a deprecation warning on calls to `cmake_minimum_required` or
`cmake_policy` that set policies based on versions older than 3.5.
Note that the effective policy version includes `...<max>` treatment.
Update the check from commit 5845c218d7 (Deprecate compatibility with
CMake versions older than 2.8.12, 2020-06-12, v3.19.0-rc1~629^2).
Add infrastructure for a "configure log". Use YAML for a balance of
machine- and human-readability to records details of configure-time
events in a structured format.
Teach the RunCMake test framework to support matching the configure log.
Issue: #23200
The Intel compiler may remark:
icpx: remark: Note that use of '-g' without any optimization-level
option will turn off most compiler optimizations similar to use of
'-O0' [-Rdebug-disables-optimization]
Teach RunCMake to drop such incidental lines before matching against
expected output.
On some Xcode versions, `xcodebuild` may warn:
... xcodebuild[...] [MT] DVTSDK: Warning: SDK path collision for path ...
Teach RunCMake to drop such incidental lines before matching against
expected output.
65b6daf776 gitlab-ci: update macOS jobs to use Xcode 13.3
94361a1309 Tests: Ignore all classes in Xcode internal objc warnings
da9f864513 Tests: Teach RunCMake to ignore Xcode extension point warnings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7204
On some Xcode versions, `xcodebuild` may warn:
... xcodebuild[...] Requested but did not find extension point with
identifier ...
Teach RunCMake to drop such incidental lines before matching against
expected output.
In commit fade5b5b8c (gitlab-ci: Update Windows builds to MSVC 19.31
toolset, 2022-03-09, v3.23.0-rc3~4^2~1) we switched from MSVC toolset
version 14.30.30705 to version 14.31.31103. The latter causes the
Clang 13.0.0 lld-link tool to warn about invalid PDB item indexes, as
discussed [here](https://developercommunity.visualstudio.com/t/1667797).
This causes the RunCMake.PrecompileHeaders test PchLibObjLibExe case to
fail on NMake builds due to unexpected content on stderr. The warnings
appear with Ninja too, but `ninja` prints them on stdout. Teach the
RunCMake infrastructure to ignore these warnings.
On some Xcode versions, `xcodebuild` may warn:
... xcodebuild[...] Requested but did not find extension point with
identifier ...
Teach RunCMake to drop such incidental lines before matching against
expected output.
Due to MCST LCC compiler identification is now changed to LCC,
there should be a way for old projects to still identify it as GNU,
as it was before.
This commits adds the policy:
CMP0129: Compiler id for MCST LCC compilers is now LCC, not GNU.
This policy controls such a behavior.
OLD behaivior is to treat LCC as GNU, NEW is to treat is as LCC.
Previously we only printed explicit `RunCMake_TEST_COMMAND` cases on
failure. Refactor the RunCMake infrastructure so that we always define
`RunCMake_TEST_COMMAND` internally, and print it on failure.