summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 4.2.2v4.2.2Brad King2 days1-1/+1
|
* VS: Fix SLNX generation so .NET Core projects build in the IDEBrad King3 days1-3/+13
| | | | | | | | Extend commit 46b0202ce0 (VS: Fix SLNX generation so CSharp projects build in the IDE, 2025-10-23, v4.2.0-rc2~26^2) to cover .NET Core projects. Fixes: #27524
* VS: Add include_external_msproject GUIDs for more project typesBrad King3 days2-0/+18
| | | | Issue: #27524
* VS: Add include_external_msproject detection of `.njsproj` typeBrad King3 days3-0/+6
| | | | It is a NodeJS Project.
* Merge topic 'fileapi-instrumentation-initial-cache' into release-4.2Brad King6 days3-7/+29
|\ | | | | | | | | | | | | | | | | | | | | | | ed023e0cfc Merge branch 'backport-4.0-fileapi-instrumentation-initial-cache' 5b63ea9ad3 instrumentation: Fix crash on cmake_instrumentation() call in initial cache 1bd6e70430 Merge branch 'backport-4.0-fileapi-instrumentation-initial-cache' bb23f65928 instrumentation: Fix crash on cmake_instrumentation() call in initial cache 8523e579dc Merge branch 'backport-3.31-fileapi-initial-cache' 4d712cfc25 fileapi: Fix crash on cmake_file_api() call in initial cache Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11598
| * instrumentation: Fix crash on cmake_instrumentation() call in initial cacheMartin Duffy7 days2-5/+15
| |
| * Merge branch 'backport-4.0-fileapi-instrumentation-initial-cache'Brad King7 days3-2/+14
| |\
| | * Merge branch 'backport-3.31-fileapi-initial-cache'Brad King7 days3-2/+14
| | |\
| | | * fileapi: Fix crash on cmake_file_api() call in initial cacheMartin Duffy7 days3-2/+14
| | | |
| | | * CMake 3.31.10v3.31.10Brad King2025-11-171-1/+1
| | | |
| | | * execute_process: Restore termination of processes on timeoutBrad King2025-11-116-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we have not actually terminated child processes on an `execute_process` timeout. Similarly for other migrations from cmsysProcess to cmUVProcessChain. Teach cmUVProcessChain clients that implement timeouts to actually terminate remaining child processes when the timeout is reached. Fixes: #27378
* | | | file(GET_RUNTIME_DEPENDENCIES): Support VS 2026 without VS 2022Clinton Stimpson8 days1-0/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Find MSVC tools in VS 2026 installation. This was missed in commit 3392b371 (VS: Add Visual Studio 18 2026 generator, 2025-08-20, v4.2.0-rc1~165^2~1). Follow the pattern from commit 235b5fb05b (file(GET_RUNTIME_DEPENDENCIES): Support VS 2022 without VS 2019, 2022-05-19, v3.21.7~3^2). Fixes: #27511
* | | Merge topic 'fix-cmp0199' into release-4.2Brad King9 days2-60/+73
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 35d5a4fd6d GenEx: Partially restore pre-CMP0199 behavior of $<CONFIG> Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Matthew Woehlke <matthew.woehlke@kitware.com> Merge-request: !11581
| * | | GenEx: Partially restore pre-CMP0199 behavior of $<CONFIG>Matthew Woehlke10 days2-60/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the implementation of policy CMP0199 to only remove the oddball configuration map matching of `$<CONFIG>` in `NEW` mode, restoring the old behavior of matching BOTH the consumer's configuration and the selected configuration of the imported target. It turns out that users are more dependent on the former than the latter, and while matching more than one thing is still dodgy, we will likely need to introduce a new generator expression to match the selected configuration of the imported target. Meanwhile, `$<CONFIG>` on targets imported from CPS still only matches the selected configuration of the imported target, which is the behavior specified by CPS. However, this can only happen for `$<CONFIG>` expressions that were generated internally during import. Update documentation and test cases accordingly. Fixes: #27487 Fixes: #27495
* | | | Merge topic 'fileapi-windows-implib-missing-error' into release-4.2Brad King9 days3-10/+39
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c6a940761c fileapi: Handle unused imported libraries with missing IMPORTED_IMPLIB Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !11585
| * | | | fileapi: Handle unused imported libraries with missing IMPORTED_IMPLIBCraig Scott13 days3-10/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake 4.1 and earlier did not issue an error if an imported shared library target was missing an IMPORTED_IMPLIB property and nothing used that imported library. There was no code path checking for the CMP0111 NEW behavior. Since b626843d71 (fileAPI: Output all INTERFACE and IMPORTED targets, 2025-09-13), we now include all imported targets in the file API replies, and that does trigger that check. We need to tolerate such imported targets to preserve backward compatibility, and to avoid issuing errors for problems in targets likely to be coming from outside the project and beyond the developer's control. Fixes: #27496
* | | | | CMake: Restore support for compiling as C++11 on WindowsMarc Chevrier10 days2-6/+7
| | | | | | | | | | | | | | | | | | | | Fixes: #27505
* | | | | Merge topic 'cpack-appimage-user-apprun' into release-4.2Brad King10 days1-2/+13
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | 078f28f16b CPack/AppImage: Add support for a custom AppRun file Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11577
| * | | | CPack/AppImage: Add support for a custom AppRun fileMathieu13 days1-2/+13
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Allow the users to install a custom AppRun file. Otherwise create a default one. Fixes: #27478
* | | | Merge topic 'timeout-after-match-stop-time-behavior' into release-4.2Brad King13 days3-8/+41
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 68beb2e514 Tests/CTestTimeoutAfterMatch: add case for stop time bug af7427675a cmProcess: compute the timeout when needed c6940b0dcc cmProcess: explicitly track the StopTimeout Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !11551
| * | | | cmProcess: compute the timeout when neededBen Boeckel2026-01-073-8/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a timeout is updated during runtime (e.g., via `TIMEOUT_AFTER_MATCH`), the actual timeout needs recomputed based on consideration of `StopTimeout` as well. Instead of using `Timeout` directly, add a `GetComputedTimeout` method which also retrieves the timeout reason based on which timeout is selected.
| * | | | cmProcess: explicitly track the StopTimeoutBen Boeckel2025-12-222-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | When a test can have its timeout reset, the stop time still needs to be considered when setting the new timeout. Track it explicitly.
* | | | | VS: Restore unicode character set for custom targrets on WindowsStoreBrad King2026-01-081-16/+15
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Restore conditions broken by commit 19a61e56cf (VS: Refactor MSVC character set selection, 2025-10-10, v4.2.0-rc1~12^2~1). We had misread the purpose/scope of the `<= cmStateEnums::OBJECT_LIBRARY` condition. In the original code it was only about safely indexing `ClOptions`, not about the kinds of targets that can use a unicode character set. Fixes: #27490
* | | | Merge topic 'fbuild_i18num_fix' into release-4.2Brad King2026-01-071-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 416d86ab32 FASTBuild: fix configure for non-English MSVC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11557
| * | | | FASTBuild: fix configure for non-English MSVCEduard Voronkin2026-01-061-1/+2
| | | | | | | | | | | | | | | | | | | | Fixes: #27483
* | | | | FASTBuild: set PlatformToolset in the generated .bff fileEduard Voronkin2026-01-061-0/+11
|/ / / / | | | | | | | | | | | | Fixes: #27481
* | | | Merge topic 'sarif-path-encoding' into release-4.2Brad King2025-12-203-21/+13
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | 2eef2baf93 cmake: Fix SARIF diagnostics output path encoding on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11538
| * | cmake: Fix SARIF diagnostics output path encoding on WindowsBrad King2025-12-193-21/+13
| | | | | | | | | | | | | | | | | | | | | | | | Avoid using `filesystem::path` to hold the output path. It performs encoding conversions that violate our internal UTF-8 encoding. Fixes: #27471 Issue: #27472
| * | CMake 4.0.5v4.0.5Brad King2025-11-181-1/+1
| | |
* | | VS: Restore subsystem link flag for DLLsBrad King2025-12-171-25/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 99d09ec45a (VS: Suppress MSBuild default link flags not specified by project or user, 2025-06-17, v4.1.0-rc1~6^2) we removed our default `-subsystem:...` link flag from `SHARED` and `MODULE` libraries in Visual Studio generators for consistency with command-line generators. However, unlike other flag suppressions for #27004, this change did not just suppress MSBuild defaults, but actually changed flags the generator was previously adding itself. For the linker subsystem flag, consistency across generators should perhaps achieved by adding the flag in other generators instead of removing it from Visual Studio generators. Restore the previous behavior pending further investigation. Issue: #27466 Fixes: #27464
* | | Merge topic 'linux32-system-libarchive' into release-4.2Brad King2025-12-121-4/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cea7f7fc32 Linux: Do not force 64-bit `time_t` on 32-bit archs with system libarchive 16cc3e25d4 Utilities: Select bundled or external dependencies very early Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !11505
| * | | Utilities: Select bundled or external dependencies very earlyBrad King2025-12-111-4/+0
| | | |
* | | | Merge topic 'stdio-ctrl-c' into release-4.2Brad King2025-12-121-7/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c55dfbf656 StdIo: Restore compilation on 32-bit MinGW Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11503
| * | | | StdIo: Restore compilation on 32-bit MinGWBrad King2025-12-111-7/+11
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | In commit e419429616 (StdIo: Restore Windows Console I/O modes on Ctrl-C, 2025-11-26, v4.1.4~4^2) we relied on the compiler to generate a lambda with an `operator()` for each calling convention. MSVC does this, but the GNU compiler for MinGW does not seem to.
| * | | CMake 4.1.4v4.1.4Brad King2025-12-081-1/+1
| | | |
* | | | CMake 4.2.1v4.2.1Brad King2025-12-081-1/+1
| | | |
* | | | Merge topic 'pdb-locations' into release-4.2Brad King2025-12-081-6/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cd92cbae7e MSVC: Restore pre-4.2 default PDB paths Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11475
| * | | | MSVC: Restore pre-4.2 default PDB pathsBen Boeckel2025-12-051-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only force a compile PDB directory when PCH reusing. This avoids affecting behavior in unrelated situations. However, PCH reuse requires a known path so that the `copy_idb_pdb` logic can accurately generate the copy instructions so that MSVC's rule that PCH use must use the same PDB file can be adhered to. Also revert the test suite adaptations from commit f78f592b78 (pchreuse: defer target existence enforcement to generation time, 2025-06-16, v4.2.0-rc1~481^2~4). Fixes: #27401
* | | | | Merge topic 'fastbuild-pdb-quoting' into release-4.2Brad King2025-12-082-17/+37
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6f1fe8853d FASTBuild: Fix default MSVC compiler PDB paths dff020e679 FASTBuild: Add internal helper for intermediate directory creation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Eduard Voronkin <edward.voronkin@gmail.com> Merge-request: !11483
| * | | | FASTBuild: Fix default MSVC compiler PDB pathsBrad King2025-12-051-17/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we pass a PDB output directory to the compiler in a path that requires quoting, the trailing backslash must be escaped to be parsed correctly by the compiler, e.g., `cl /Fd"path\with space\\"`. However, `fbuild` does not parse this correctly when extracting `/Fd`. Work around that bug by using a trailing forward slash in quotes instead.
| * | | | FASTBuild: Add internal helper for intermediate directory creationBrad King2025-12-052-0/+7
| | | | |
* | | | | Merge topic 'vs2019-v142' into release-4.2Brad King2025-12-081-0/+13
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / | | | | | | | | | | | | 8c332a3c7f VS: Restore support for VS 2019 with toolset v142 versions before 14.29 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11480
| * | | VS: Restore support for VS 2019 with toolset v142 versions before 14.29Brad King2025-12-051-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 7db3dbddb2 (VS: Suppress MSBuild default flags not specified by project or user, 2025-06-02, v4.1.0-rc1~69^2) we suppress the `-Zc:inline` default flag when the project/user does not specify it. That triggers an apparent bug in VS 2019 with v142 toolset versions before 14.29 in which MSBuild fails when both `-Zc:inline` and `-nologo` are suppressed. This happens when `CMAKE_VERBOSE_MAKEFILE` is enabled, such as in `try_compile` projects like our builtin compiler inspection. Since `-nologo` is incidental, avoid suppressing it if `-Zc:inline` is also suppressed. Limit this workaround to relevant toolset versions. Fixes: #27439
| * | | Merge topic 'fix-cps-export-definitions' into release-4.1Brad King2025-12-011-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b2ca9fba8b CPS: Fix exporting definitions in CMake 4.1 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11469
| | * | | CPS: Fix exporting definitions in CMake 4.1Matthew Woehlke2025-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport commit 37b15eda3b (CPS: Fix exporting definitions, 2025-11-21) to CMake 4.1. Export compile definitions to CPS using the correct attribute name. Fixes: #27403
* | | | | Merge topic 'revert-pdb-compile-filename-setting' into release-4.2Brad King2025-12-031-4/+9
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 809e387a13 cmGeneratorTarget: Revert "always provide a compile PDB filename" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11471
| * | | | | cmGeneratorTarget: Revert "always provide a compile PDB filename"Brad King2025-12-021-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 1a8712d31a (cmGeneratorTarget: always provide a compile PDB filename, 2025-11-24). It changed our long-standing conditions for when a naming a compiler-generated `.pdb` file is explicitly named. It also caused some `BuildDepends` and `RunCMake.BuildDepends` failures in VS builds that went unnoticed before merging. Issue: #27401
* | | | | | Merge topic 'improve-subcommand-message-consistency' into release-4.2Brad King2025-12-022-10/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a1a75f4008 cmake_file_api: Improve error message consistency 61143d7cef export: Improve error message consistency Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !11470
| * | | | | | cmake_file_api: Improve error message consistencyMatthew Woehlke2025-12-011-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove literal text "subcommand" from error messages. This addresses the other use of this and improves consistency (see preceding commit). Also, omit some unnecessary articles, which also improves consistency.
| * | | | | | export: Improve error message consistencyMatthew Woehlke2025-12-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove literal text "subcommand" from error messages. Most other commands report errors like "<command> <subcommand> <message>", where the message does not include the literal text "subcommand". The `export` command was one of two exceptions to this.