summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Update for changes to upstream ninja development versionBrad King2023-12-082-4/+11
| | | | | | | | | Account for: * commit `8f47d5aa33` (Remove `-w dupbuild` completely, always error on duplicate edges, 2023-11-29) * commit `4d98903d4c` (Improve misleading error message when an output is defined multiple times, 2023-12-06)
* Merge topic 'FindCUDAToolkit-fix-stubs' into release-3.28Brad King2023-12-071-5/+7
|\ | | | | | | | | | | | | | | d85bf99bcb FindCUDAToolkit: Fix stub library representation on reconfigure Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !9045
| * FindCUDAToolkit: Fix stub library representation on reconfigureBrad King2023-12-061-5/+7
| | | | | | | | | | | | | | | | | | | | | | Since commit 0744c02e24 (FindCUDAToolkit: targets pointing to stubs now use IMPORTED_IMPLIB, 2023-07-24, v3.28.0-rc1~309^2) we recognize CUDA stub libraries and represent them in a special way. However, the logic only works on the first configuration of a build tree when the libraries are first found. Once the results are cached, we incorrectly revert to the non-stub representation. Fix this by recognizing stub libraries based on their path instead.
* | Merge topic 'doc-fetchcontent-bad-ref' into release-3.28Brad King2023-12-071-1/+1
|\ \ | |/ |/| | | | | | | | | bd50e8a058 Help: Fix malformed cross-reference in FetchContent docs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9047
| * Help: Fix malformed cross-reference in FetchContent docsCraig Scott2023-12-071-1/+1
|/
* CMake 3.28.0v3.28.0Brad King2023-12-061-1/+1
|
* Merge topic 'cxxmodules-msvc-corner-cases' into release-3.28Brad King2023-12-065-3/+27
|\ | | | | | | | | | | | | | | e63983956d Tests/CXXModules: enhance `internal-partitions` test 8a658fb9ec Tests/CXXModules: import from an internal partition Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9039
| * Tests/CXXModules: enhance `internal-partitions` testBen Boeckel2023-12-054-1/+17
| | | | | | | | | | | | This test previously did not *require* that the internal partition be specified as a transitive usage because nothing from it was exposed. Plumb through usages such that the internal partitions are required.
| * Tests/CXXModules: import from an internal partitionBen Boeckel2023-12-053-2/+10
| | | | | | | | | | | | It is reported that MSVC doesn't support the `modname=` syntax in its `-reference modname=modname.ifc` for internal partitions. Add a test case.
* | Merge topic 'fix-cxx-module-transitive-requirements' into release-3.28Brad King2023-12-0636-6/+392
|\ \ | | | | | | | | | | | | | | | | | | | | | e9b0dcbbfa cmCxxModuleMapper: Fix transitive requirements computation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9030
| * | cmCxxModuleMapper: Fix transitive requirements computationnamniav2023-12-0536-6/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously CMake may generate incomplete transitive requirements in CMakeFiles/<target>.dir/CXXModules.json and therefore in module mapper for compiler, when source files were listed in CMakeList.txt in a certain order. This commit fixes the problem by correctly tracking unfinished transitive requirements computation of module units. There have been a simple circular test case whose circular dependency was reported by build system. Now with this correct implementation it's reported by CMake generating module mappers. Add two test cases for transitive requirements computation, one with adding source files in hardcoded order, and the other in randomized order. Fixes: #25465
* | | Merge topic 'LLVMFlang-MSVC-debug' into release-3.28Brad King2023-12-063-9/+16
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ef49ed0fe1 LLVMFlang: Fix MSVC ABI debug information format options Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9037
| * | | LLVMFlang: Fix MSVC ABI debug information format optionsBrad King2023-12-053-9/+16
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 26bf32cdc6 (LLVMFlang: Add support for targeting MSVC ABI on Windows, 2023-09-28, v3.28.0-rc1~10^2) we incorrectly recorded `-g` as supporting the `ProgramDatabase` format, but it is actually `Embedded`, matching Clang. In order to support easy integration with C and C++ projects that use the `.pdb` debug formats, pretend LLVMFlang supports them and just don't actually emit any debug information. Issue: #24840
* | | Merge topic 'imported-implib-only' into release-3.28Brad King2023-12-063-12/+26
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | fc6508921c cmComputeLinkInformation: Restore soname lookup for non-imported targets 03d86f9d9c cmGeneratorTarget: Add helper to check for known runtime artifact Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !9041
| * | cmComputeLinkInformation: Restore soname lookup for non-imported targetsBrad King2023-12-052-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 7351d590ee (cmTarget: Add a way to represent imported shared library stubs, 2023-07-17, v3.28.0-rc1~344^2) we accidentally stopped passing the SONAME of a non-imported SHARED library to our runtime search path ordering logic. Unfortunately I have not found a way to add a test case for this, but it at least shouldn't regress existing tests or those added by that commit.
| * | cmGeneratorTarget: Add helper to check for known runtime artifactBrad King2023-12-052-0/+14
|/ /
* | Merge topic 'RH-gcc-toolset-10-bug-check' into release-3.28Brad King2023-12-051-0/+28
|\ \ | | | | | | | | | | | | | | | | | | | | | 40af103402 cmCMakePath: do not use std::filesystem::path with RH gcc-toolset-10 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9026
| * | cmCMakePath: do not use std::filesystem::path with RH gcc-toolset-10Marc Chevrier2023-12-041-0/+28
| |/ | | | | | | Fixes: #25458, #25453
* | Merge topic 'cxxmodules-pch' into release-3.28Brad King2023-12-056-8/+34
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 40dc13b242 cmNinjaTargetGenerator: PCH files do not need dyndep f61c64cd1c cmLocalGenerator: prevent scanning of PCH source files ea8c37b759 Tests/CXXModules: add a test which scans a PCH-using source Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9032
| * | cmNinjaTargetGenerator: PCH files do not need dyndepBen Boeckel2023-12-041-8/+7
| | | | | | | | | | | | Fixes: #24209
| * | cmLocalGenerator: prevent scanning of PCH source filesBen Boeckel2023-12-041-0/+3
| | |
| * | Tests/CXXModules: add a test which scans a PCH-using sourceBen Boeckel2023-12-044-0/+24
| | | | | | | | | | | | This tests that PCH usage works with scanning logic.
* | | Merge topic 'cmFileCopier-error-loss' into release-3.28Brad King2023-12-057-59/+77
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a820877d03 errors: avoid constructing a stream before getting the last error 5cf7018af6 cmFileCopier: remember error statuses and get their strings 0639a32d3a cmFileTimes: return status codes from APIs Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9023
| * | | errors: avoid constructing a stream before getting the last errorBen Boeckel2023-12-025-28/+20
| | | | | | | | | | | | | | | | | | | | Constructing a stream may involve operations that change the global error state. Avoid the streams by using `cmStrCat` instead.
| * | | cmFileCopier: remember error statuses and get their stringsBen Boeckel2023-12-021-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last error may have changed between the original call and the `GetLastSystemError()` call. Remember the status explicitly and ask it for its error string. Reported on Discourse: https://discourse.cmake.org/t/9539
| * | | cmFileTimes: return status codes from APIsBen Boeckel2023-12-022-17/+34
| | | | | | | | | | | | | | | | | | | | This avoids accidentally overwriting the global error state before fetching the intended error code.
* | | | Merge topic 'fix-include-windows' into release-3.28Brad King2023-12-051-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 696e14d977 cmFileLockResult: Fix inclusion of windows.h when cross-compiling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9035
| * | | | cmFileLockResult: Fix inclusion of windows.h when cross-compilingBrad King2023-12-041-1/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 64821d8a26 (cmFileLockResult: Remove expensive windows.h include, 2023-06-16, v3.28.0-rc1~446^2~13) we accidentally capitalized the name of the header. This matters when cross-compiling from a host with a case-sensitive filesystem. Fixes: #25474
* | | | Merge topic 'execute_process-no-extension' into release-3.28Brad King2023-12-051-13/+30
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | fc6231bee5 libuv: win/spawn: run executables with no file extension b37d9378de libuv: Revert "win/spawn: run executables with no file extension" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !9033
| * | | libuv: win/spawn: run executables with no file extensionKyle Edwards2023-12-041-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport this commit from libuv PR 4241 to restore `execute_process()` support for running executables on Windows with no file extension. Fixes: #25450
| * | | libuv: Revert "win/spawn: run executables with no file extension"Brad King2023-12-041-12/+25
| |\ \ \ |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit da9df7425a (libuv: win/spawn: run executables with no file extension, 2023-11-29, v3.28.0-rc6~1^2~1). It incorrectly searched the `PATH` for extension-less command names. Another fix will be needed for the regression motivating it. Record this as a merge from the last-imported upstream libuv snapshot branch so that future `git blame` points to the upstream for the original code instead of this commit. Fixes: #25473 Issue: #25450
* | | | Merge topic 'libuv-win-no-default-current-directory' into release-3.28Brad King2023-12-041-4/+6
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | ab561b86fb libuv: win: honor NoDefaultCurrentDirectoryInExePath env var Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9022
| * | | libuv: win: honor NoDefaultCurrentDirectoryInExePath env varKyle Edwards2023-12-011-4/+6
|/ / / | | | | | | | | | | | | Backport commit 5e302730cd (win: honor NoDefaultCurrentDirectoryInExePath env var, 2023-12-01) from libuv PR 4238.
* | | CMake 3.28.0-rc6v3.28.0-rc6Brad King2023-11-301-1/+1
| | |
* | | Merge topic 'execute_process-no-extension' into release-3.28Brad King2023-11-308-25/+69
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6d2efa752 Tests: Add case to cover execute_process support for no extension on Windows da9df7425a libuv: win/spawn: run executables with no file extension Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9017
| * | | Tests: Add case to cover execute_process support for no extension on WindowsKyle Edwards2023-11-307-0/+57
| | | | | | | | | | | | | | | | Issue: #25450
| * | | libuv: win/spawn: run executables with no file extensionKyle Edwards2023-11-301-25/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport this commit from libuv PR 4241 to restore `execute_process()` support for running executables on Windows with no file extension. Fixes: #25450
* | | | Merge topic 'rpm-quoting' into release-3.28Brad King2023-11-302-14/+19
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5123e9e160 ci: unmask RPM tests on Fedora 39 bf22ac5263 CPack/RPM: Quote paths in rpm spec only if they have whitespace 75ea6207b7 CPack/RPM: Factor out helper to quote paths in generated rpm spec Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9005
| * | | | ci: unmask RPM tests on Fedora 39Ben Boeckel2023-11-291-9/+0
| | | | |
| * | | | CPack/RPM: Quote paths in rpm spec only if they have whitespaceBrad King2023-11-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RPM supports either whitespace with quoting or globbing without quoting. Prior to RPM 4.19 it accepted globbing in quotes, but it only globbed correctly without whitespace, where quoting was not necessary anyway. Starting in RPM 4.19, glob characters in quotes are considered literal. Fixes: #25421 Inspired-by: Ben Boeckel <ben.boeckel@kitware.com> See: https://github.com/rpm-software-management/rpm/commit/d44114f007f54f205ffa13d22724199fe50a137a
| * | | | CPack/RPM: Factor out helper to quote paths in generated rpm specBrad King2023-11-291-5/+14
| | | | |
* | | | | Merge topic 'ccmake-install-rds-crash' into release-3.28Brad King2023-11-301-0/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | d01120a47a cmGlobalGenerator: clear RuntimeDependencySet members at configure Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9013
| * | | | cmGlobalGenerator: clear RuntimeDependencySet members at configureBen Boeckel2023-11-291-0/+2
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit f2617cf8e6 (Source: Add cmInstallRuntimeDependencySet, 2021-05-19) introduced via !6186 to 3.21 added storage to the global generator for runtime dependency sets. However, this was not cleared at the start of configure in the `ClearGeneratorMembers()` method. When using `ccmake` to configure (and, presumably `cmake-gui` too), projects using `install(TARGETS … RUNTIME_DEPENDENCY_SET)` would use dependency set tracking instances from previous configure runs that held references to targets free'd with the `cmMakefile` instance that held them. Clear the dependency sets at the beginning of configure so that they are not remembered and trigger via use-after-free bugs when used. Fixes: #25446
* | | | Merge topic 'cxxmodules-diagnostics' into release-3.28Brad King2023-11-296-21/+61
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cbd549b09e cxxmodules: Add more suggestions to no-modules-support diagnostics Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9011
| * | | | cxxmodules: Add more suggestions to no-modules-support diagnosticsBrad King2023-11-286-21/+61
| |/ / / | | | | | | | | | | | | | | | | | | | | Tell users what generators *do* support C++ modules. Report the current generator to make clear it is not one of those supporting modules. Also clarify the purpose of the existing documentation references.
* | | | Merge topic 'xcode-embed-resources' into release-3.28Brad King2023-11-293-5/+4
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 6030df205a Xcode: Fix embed resources prop name Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Deal <halx99@live.com> Merge-request: !9008
| * | | Xcode: Fix embed resources prop namehalx992023-11-283-5/+4
|/ / / | | | | | | | | | | | | | | | | | | Fix commit e40d2cb3af (Xcode: Add embed resources support, 2023-07-31, v3.28.0-rc1~281^2). The implementation should not name the `_PATH` suffix explicitly. That variant is automatically handled by `cmGlobalXCodeGenerator::AddEmbeddedObjects`.
* | | Merge branch 'release-3.27' into release-3.28Brad King2023-11-281-0/+20
|\ \ \
| * | | CMake 3.27.9v3.27.9Brad King2023-11-282-1/+21
| | | |
* | | | Merge branch 'release-3.27' into release-3.28Brad King2023-11-272-4/+14
|\ \ \ \ | |/ / /