summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Tests/FortranModules: add case for modules after "end interface X"Ben Boeckel2022-11-303-0/+22
| | | | | | | When there is an `end interface X` in a file, subsequent modules should not be considered part of interface X. Issue: #24203
* Merge topic 'try_compile-copy-config' into release-3.25Brad King2022-11-232-0/+9
|\ | | | | | | | | | | | | | | | | 80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !7948
| * try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATIONBrad King2022-11-222-0/+9
| | | | | | | | | | | | | | | | | | Since commit 0c141b0393 (try_compile: Record output location instead of reverse computing it, 2022-08-31, v3.25.0-rc1~154^2) we always look for the "Debug" configuration's output binary from the test project. Restore looking for the `CMAKE_TRY_COMPILE_CONFIGURATION`. Fixes: #24180
* | XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODEMarc Chevrier2022-11-224-8/+74
|/ | | | Fixes: #24176
* Merge topic 'test-FindBoost-python-versions' into release-3.25Brad King2022-11-171-2/+2
|\ | | | | | | | | | | | | 6b1f933cb8 Tests: Update FindBoost.TestPython for Python 3.11 and 3.12 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7929
| * Tests: Update FindBoost.TestPython for Python 3.11 and 3.12Brad King2022-11-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | Follow up the python 3.11 and 3.12 support from: * commit 43844c5d82 (FindPython: Add support for Python 3.11, 2021-12-07, v3.22.2~20^2) * commit ca2877c039 (FindPython: add support for Python 3.12, 2022-05-11, v3.23.2~15^2) with an update for the FindBoost test.
| * Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branchSean McBride2022-11-032-14/+20
| | | | | | | | | | | | Backport commit d5694e4623 (Source: Replace uses of sprintf with safer snprintf, 2022-06-17, v3.25.0-rc1~587^2) to the CMake 3.24 branch. This is needed to compile without warnings using Xcode 14.1's macOS 13.0 SDK.
| * Merge branch 'ninja-intl-paths' into release-3.24Brad King2022-10-274-0/+22
| |\ | | | | | | | | | Merge-request: !7833
| * \ Merge branch 'try_compile-CMP0128' into release-3.24Brad King2022-10-251-4/+5
| |\ \ | | | | | | | | | | | | Merge-request: !7821
* | | | CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is emptyBrad King2022-11-152-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under the policy's NEW behavior, `[CMAKE_]MSVC_DEBUG_INFORMATION_FORMAT` may be explicitly set to an empty string to tell CMake not to add any flags for this abstraction. In this case, fall back to checking the language-wide flags as we do in the OLD behavior. This revises commit 183b9a9eca (CMP0141: Fix PCH REUSE_FROM under policy NEW behavior, 2022-10-31, v3.25.0-rc3~4^2). Issue: #24106
* | | | msvc: bless MSVC 19.34 support for C++ modules as experimentalBen Boeckel2022-11-112-1/+3
| | | | | | | | | | | | | | | | Visual Studio 17.4 now contains official support for what CMake needs.
* | | | Tests: Fix TryCompile bad source case for clang-cl 15 on WindowsBrad King2022-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | When `pass.c bad#source.c` passes through `nmake`, the compiler gets `pass.c bad`. The clang-cl 15 compiler now fails on `bad` with an error that we did not previously match. Update our regex.
* | | | block: Fix variable scope protection from modification by subdirectoriesBrad King2022-11-074-2/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `cmStateSnapshot::RaiseScope` raises a variable in to a parent directory scope, it uses `GetBuildsystemDirectoryParent` to find the current top-most scope on the directory's stack. Since commit 3f4e5e8c3d (cmState: Return end snapshot for GetBuildsystemDirectoryParent., 2015-09-01, v3.4.0-rc1~100^2~1), that depends on the `DirectoryEnd` field in the directory's state. However, when variable-only scopes were added by commit 6954c8936f (cmState: Add a VariableScope snapshot type., 2015-08-01, v3.4.0-rc1~179^2~1), we neglected to account for the addition of that field by commit 52dbe654de (cmState: Record the end position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1). Prior to commit 44a2f3f332 (Add new flow-control commands for variables and policies scopes management, 2022-08-05, v3.25.0-rc1~257^2) this problem went unnoticed because there was no way to have a variable scope at the top of a directory's stack while processing a subdirectory. Now the `block()/endblock()` commands enable the behavior, so fix tracking of a variable scope as the top-most scope in a directory. Fixes: #24138
* | | | Merge topic 'correct_nvptxcompiler_not_linking_to_threads' into release-3.25Brad King2022-11-034-0/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62f13ed588 FindCUDAToolkit: Restore usage from multiple directories Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7859
| * | | | FindCUDAToolkit: Restore usage from multiple directoriesRobert Maynard2022-11-024-0/+33
| | | | | | | | | | | | | | | | | | | | Fixes #24119
* | | | | Xcode: Implement Swift include directoriesBrad King2022-11-025-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Populate Xcode's `SWIFT_INCLUDE_PATHS` build setting with the target-wide include directories. Issue: #24116
* | | | | CMP0141: Fix PCH REUSE_FROM under policy NEW behaviorBrad King2022-10-314-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under the CMP0141 NEW behavior added by commit 0e96a20478 (MSVC: Add abstraction for debug information format, 2022-08-25, v3.25.0-rc1~142^2~1), the `-Zi` and `-ZI` flags do not appear in `CMAKE_<LANG>_FLAGS_<CONFIG>` anymore. Teach the PCH REUSE_FROM implementation to recognize the `EditAndContinue` and `ProgramDatabase` debug information formats through the policy's new abstraction. Fixes: #24106
* | | | | Tests: Drop redundant project init from RunCMake.PrecompileHeaders casesBrad King2022-10-3113-29/+19
|/ / / / | | | | | | | | | | | | | | | | The `CMakeLists.txt` file already calls `cmake_minimum_required` and `project` before including each case's code.
* | | | Merge topic 'vs-dotnetsdk-arm64' into release-3.25Brad King2022-10-311-2/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a0ca7df67 Tests: Fix RunCMake.VsDotnetSdk with VS >= 17.3 on ARM64 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7842
| * | | | Tests: Fix RunCMake.VsDotnetSdk with VS >= 17.3 on ARM64Anthony Roberts2022-10-281-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | VS 17.3 provides an arm64-native version of the tool, but the test was looking for the x64 version.
* | | | | Merge topic 'ninja-showIncludes-encoding' into release-3.25Brad King2022-10-3112-0/+104
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a0d4e3bf34 cmGeneratedFileStream: Drop unused WriteRaw method 2e5af30ce0 Ninja: Match showIncludes dependencies using console output code page e1c1679148 cm_codecvt: Add support for the Windows console output code page 328c15189d cmGeneratedFileStream: Add support for a temporary alternate encoding Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7845
| * | | | | Ninja: Match showIncludes dependencies using console output code pageBrad King2022-10-3012-0/+104
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generalize the fix from commit 37a279f8d1 (Ninja: Write msvc_deps_prefix as UTF-8 when console codepage is UTF-8, 2020-07-31, v3.19.0-rc1~349^2). `cl /showIncludes` output is encoded using the console output code page, so this is the byte sequence that Ninja must use to match its lines. Fixes: #24068
* | | | | Xcode: Put object files in a place that Xcode cleansBrad King2022-10-287-8/+19
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit dc5fc898f6 (Xcode: Set object file locations using TARGET_TEMP_DIR, 2022-09-29, v3.25.0-rc1~64^2~1), `xcodebuild clean` does not remove the object files in our explicit `TARGET_TEMP_DIR` because it is not under the `SYMROOT`. Put it there. Fixes: #24096
* | | | Merge topic 'cmake-presets-workflow-arguments' into release-3.25Brad King2022-10-276-3/+46
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7ecbe324b0 cmake --workflow: add --fresh option 7d9aa0f00c cmake::Workflow: Refactor to use enum class argument 322193afcd cmake --workflow: print usage and exit on unrecognized argument 70aef29427 cmake --workflow: print usage message Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7825
| * | | | cmake --workflow: add --fresh optionKyle Edwards2022-10-263-3/+37
| | | | | | | | | | | | | | | | | | | | Fixes: #24073
| * | | | cmake --workflow: print usage and exit on unrecognized argumentKyle Edwards2022-10-264-0/+9
| | | | | | | | | | | | | | | | | | | | Issue: #24073
* | | | | Merge topic 'xcode-swift-defs' into release-3.25Brad King2022-10-273-0/+34
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c0dd3dd2c1 Xcode: Evaluate Swift compile definitions separately Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7826
| * | | | | Xcode: Evaluate Swift compile definitions separatelyBrad King2022-10-253-0/+34
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode has a separate setting for Swift compile definitions, so we can compute a dedicated value for it. Therefore we can: * Support the COMPILE_LANGUAGE generator expression for Swift-specific filters. * Avoid passing the `=value` part of definitions, which Swift does not support. This revises commit 5cb625eb2f (Xcode: Pass compile definitions to Swift, 2022-06-19, v3.25.0-rc1~493^2) and reverts commit 12c6fec6b4 (Xcode: Drop CMAKE_INTDIR= definition in Swift targets, 2022-09-30, v3.25.0-rc1~60^2~2), as the latter is no longer needed. Fixes: #24086
* | | | | Merge topic 'ninja-intl-paths' into release-3.25Brad King2022-10-274-0/+22
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | a12050666c Tests: Add case for ninja with non-ascii chars 02a04dd9c7 Ninja: Restore support for non-ascii paths on Windows with ninja<=1.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7833
| * | | | Tests: Add case for ninja with non-ascii charsBrad King2022-10-264-0/+22
| | |_|/ | |/| | | | | | | | | | Issue: #24089
* | | | Merge topic 'try_compile-CMP0128' into release-3.25Brad King2022-10-251-4/+5
|\ \ \ \ | |/ / / | | / / | |/ / |/| | | | | | | | 90287792b6 Tests: Avoid running C++11 test on GNU < 4.7 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7821
| * | Tests: Avoid running C++11 test on GNU < 4.7Brad King2022-10-241-4/+5
| | | | | | | | | | | | | | | | | | The test added in commit 50e90e2828 (try_compile: Honor CMP0128 setting in test project, 2022-10-18, v3.25.0-rc2~4^2) requires that the compiler support C++11 mode, so do not run it on GNU compilers that are too old.
* | | Merge topic 'test-git-protocol-file' into release-3.25Brad King2022-10-211-0/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 79ce0f434e Tests: Explicitly allow usage of git file-based protocol in test cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7812
| * | Tests: Explicitly allow usage of git file-based protocol in test casesBrad King2022-10-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Due to CVE-2022-39253, Git 2.30.6 sets `protocol.file.allow=user` by default. The change has also been backported to other Git versions by distros. This breaks some of our test cases that use the file-based protocol locally to simulate real workflows without requiring network access. In these cases the file protocol is safe, so explicitly enable it in the tests.
| * | Merge branch 'try_compile-CMP0128' into release-3.24Brad King2022-10-185-0/+66
| |\ \ | | |/ | | | | | | Merge-request: !7803
* | | Merge topic 'cmake-presets-output-junit' into release-3.25Brad King2022-10-1910-2/+66
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bea4ed5430 CTest: Add support for outputJUnitFile in presets 9270a02003 CMakePresets.json: Add outputJUnitFile to test presets schema 757786bb73 Tests: Add test for outputLogFile in CMakePresets.json b68c3596e7 CMakePresets.json: Disallow extra properties in test output schema Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !7806
| * | | CTest: Add support for outputJUnitFile in presetsKyle Edwards2022-10-186-2/+34
| | | | | | | | | | | | | | | | Fixes: #22400
| * | | Tests: Add test for outputLogFile in CMakePresets.jsonKyle Edwards2022-10-183-1/+12
| | | |
| * | | CMakePresets.json: Disallow extra properties in test output schemaKyle Edwards2022-10-184-0/+21
| | | | | | | | | | | | | | | | And add test for testOutputTruncation being unsupported.
* | | | Merge topic 'try_compile-CMP0128' into release-3.25Brad King2022-10-195-0/+66
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 50e90e2828 try_compile: Honor CMP0128 setting in test project Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !7803
| * | | try_compile: Honor CMP0128 setting in test projectBrad King2022-10-185-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some projects pass a raw `-std=` flag to the compiler in the `try_compile` project. If they do not set CMP0128 to NEW, we should not append a `-std=` flag where we did not before the policy was added. Fixes: #24063
* | | | Merge topic 'revert_nvcc_marking_include_as_system' into release-3.25Brad King2022-10-184-20/+2
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | d0e52219eb CUDA: Revert "Always mark cuda toolkit as system include" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7798
| * | | CUDA: Revert "Always mark cuda toolkit as system include"Robert Maynard2022-10-174-20/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to revert this change as it can disable error messages when compiling invalid CUDA code. This reverts commit ea659b155d (CUDA: Always mark cuda toolkit as system include, 2022-06-27, v3.25.0-rc1~269^2).
* | | | Xcode: ensure framework with custom output directory can be consumedMarc Chevrier2022-10-142-0/+27
|/ / / | | | | | | | | | Fixes: #24046
* | | Merge topic 'flang-implicit-link-info' into release-3.25Brad King2022-10-125-2/+48
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | 0301779e85 LLVMFlang: Add support for mixed-language linking with Fortran Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7781
| * | LLVMFlang: Add support for mixed-language linking with FortranBrad King2022-10-115-2/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | Parse implicit link information for this compiler to support mixed-language linking. This was missed by commit 85749766df (LLVMFlang: Add support for LLVM Flang, 2021-07-07, v3.24.0-rc1~86^2). Also activate mixed-language test cases that would have caught this. Issue: #22387
* | | Merge topic 'test-RunCMake.install'Brad King2022-10-111-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e73470991f Tests: Loosen RunCMake.install directory symlink expected output Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7775
| * | | Tests: Loosen RunCMake.install directory symlink expected outputBrad King2022-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The case added by commit 85f01a1ec2 (file(INSTALL): Improve formatting of symlink creation error, 2022-10-06) may print `Up-to-date:` or `Installing:` for the file inside a symlinked directory based on filesystem timestamp granularity. Since that output is not what the test intends to cover, simply accept either possibility.
* | | | Merge topic 'verify-header-sets-iwyu'Brad King2022-10-101-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6942234bf5 VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma: associated to verification file Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !7762
| * | | | VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma: associated to verification fileDaniel Hannon2022-10-071-1/+1
| | | | |