summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cpack-external-partial-json' into release-3.30Brad King2024-07-231-8/+11
|\ | | | | | | | | | | | | | | ab26d334bf cmCPackExternalGenerator: ensure JSON is written before running the script Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9669
| * cmCPackExternalGenerator: ensure JSON is written before running the scriptBen Boeckel2024-07-181-8/+11
| | | | | | | | | | | | | | | | | | First, use `cmGeneratedFileStream` to avoid touching an existing file unless its contents change and to get atomic replacement. Also add a scope to ensure that the file is in place (at `fout`'s destructor) before doing anything with the packaging scripts. See: https://discourse.cmake.org/t/1773
* | CMake 3.30.1v3.30.1Brad King2024-07-181-1/+1
| |
* | Merge topic 'vs-cuda' into release-3.30Brad King2024-07-181-0/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | a9210a0c02 VS: Restore support for CUDA with no optimization flags Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !9666
| * | VS: Restore support for CUDA with no optimization flagsBrad King2024-07-171-0/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Since commit 67de5b7b82 (VS: Suppress MSBuild default settings affected by UseDebugLibraries, 2024-02-13, v3.30.0-rc1~538^2~1) we generate an empty `Optimization` element for the host compiler when there are no C or C++ optimization flags enabled. The CUDA Toolkit Visual Studio integration fails with an error if an empty string is inherited from the host compiler's `Optimization` element. If no CUDA optimization flags are specified, write an explicit empty `Optimization` element for the CUDA compiler too. Fixes: #26144
* | macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backendBrad King2024-07-175-0/+34
|/ | | | | | | | | | | | | | | | Since commit d3cbee99e3 (macOS: Prefer building with system-provided curl, 2024-05-09, v3.30.0-rc1~130^2~1) CMake uses the macOS-provided curl, which uses the LibreSSL backend by default. This exposes us to curl issue 12525, created and fixed by the following upstream curl commits: * commit `bec0c5bbf` (openssl: switch to modern init for LibreSSL 2.7.0+, 2023-08-07, `curl-8_3_0~201`) * commit `9f2d2290d` (openssl: re-match LibreSSL deinit with init, 2023-12-15, `curl-8_6_0~219`) Work around the bug by preferring the secure-transport backend by default on the problematic versions of curl.
* Restore support for exporting INTERFACE with missing dependenciesBrad King2024-07-155-9/+45
| | | | | | | | | | | | | | | Since commit c16acd35b3 (GenEx: Add support for custom transitive link properties, 2024-05-09, v3.30.0-rc1~82^2) evaluation of `TRANSITIVE_LINK_PROPERTIES` by `install(EXPORT)` enables discovery of missing dependencies on INTERFACE libraries that we did not previously diagnose. This regressed existing projects that relied on such non-diagnosis. Although commit 2fc9e482a9 (Evaluation of TRANSITIVE_LINK_PROPERTIES isn't considered a usage, 2024-07-05) fixed this, it also made a significant change to the `UseTo` infrastructure that may have other subtle effects. Replace the fix with an approach that explicitly models suppression of the relevant diagnostics. Fixes: #26108
* Evaluation of TRANSITIVE_LINK_PROPERTIES isn't considered a usageRobert Maynard2024-07-054-2/+8
| | | | Fixes #26108
* CMake 3.30.0v3.30.0Brad King2024-07-021-1/+1
|
* CMake 3.30.0-rc4v3.30.0-rc4Brad King2024-06-241-1/+1
|
* Merge topic 'vs-17.11' into release-3.30Brad King2024-06-241-4/+2
|\ | | | | | | | | | | | | dfe0f3f358 VS: Fix '-T version=14.4x' under VS 17.1x Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9622
| * VS: Fix '-T version=14.4x' under VS 17.1xBrad King2024-06-241-4/+2
| | | | | | | | | | | | | | | | Starting with VS 17.10 the v143 toolset reserves versions `14.30` through `14.49`. This is the first time that the first three digits of the version do not match the toolset name. Extend the special case from commit d256581bb0 (VS: Fix '-T version=14.40' under VS 17.10 preview 1, 2024-02-19, v3.29.0-rc2~10^2) to cover the entire reserved version range.
| * CMake 3.29.6v3.29.6Brad King2024-06-171-1/+1
| |
* | Merge topic 'link-feature-attributes-stabilization' into release-3.30Brad King2024-06-241-97/+119
|\ \ | | | | | | | | | | | | | | | | | | | | | 576567f028 Link feature attributes: stabilization 5617c34c31 Libraries processing: update configuration wording Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9607
| * | Link feature attributes: stabilizationMarc Chevrier2024-06-211-87/+106
| | | | | | | | | | | | | | | * enhance OVERRIDE handling * Update wording
| * | Libraries processing: update configuration wordingMarc Chevrier2024-06-211-10/+13
| | |
* | | Ninja Multi-Config: Fix crash if config list is changed in subdirectoryBrad King2024-06-211-4/+10
| | | | | | | | | | | | | | | | | | | | | Look up the value of `CMAKE_CONFIGURATION_TYPES` only in the top level directory. Fixes: #26064
* | | cmGlobalNinjaGenerator: Reuse local generator caching of config listBrad King2024-06-215-16/+12
| | |
* | | cmGlobalNinjaGenerator: Factor out helper for global config list lookupBrad King2024-06-212-27/+22
| | |
* | | cmGlobalNinjaGenerator: De-duplicate CMAKE_CONFIGURATION_TYPES lookupBrad King2024-06-211-5/+3
|/ /
* | CMake 3.30.0-rc3v3.30.0-rc3Brad King2024-06-141-1/+1
| |
* | Merge topic 'ctest-windows-std-handles' into release-3.30Brad King2024-06-143-34/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9598
| * | ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on WindowsBrad King2024-06-143-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the stdio handle inheritance suppression originally added by commit f262298bb0 (... do not inherit pipes in child procs for ctest so it can kill them, 2007-09-11, v2.6.0~1136). It's not clear what problem it was trying to solve, was only done in `ctest` and not `cmake`, and since commit 9c3ffe2474 (BUG: fix problem with stdout and stderr not showing up in ms dos shells, 2007-09-25, v2.6.0~1066) has not been done in `ctest` launched under interactive consoles. Furthermore, the code has been spuriously breaking stdio when `ctest` is started with both stdout and stderr connected to the same pipe, such as when `ctest --launch` is used under `ninja`. This is because it used `DuplicateHandle` with `DUPLICATE_CLOSE_SOURCE` on the stdout handle and then the stderr handle. If the handles are the same, then the stderr handle becomes invalid in between these operations, leading to likely-undefined behavior. Since commit 96b3dd329e (cmCTestLaunchReporter: Replace cmsysProcess with cmUVProcessChain, 2023-07-26, v3.28.0-rc1~138^2~2) this became more noticeable because `uv_spawn` performs additional verification on stdio handles. This could be fixed by instead suppressing inheritance via SetHandleInformation(h, HANDLE_FLAG_INHERIT, 0); However, the functionality no longer seems necessary, so remove it.
| * | CMake 3.28.6v3.28.6Brad King2024-06-031-1/+1
| | |
* | | Merge topic 'vs-quote-semicolons' into release-3.30Brad King2024-06-141-6/+4
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 9b672e8075 VS: Quote custom command arguments containing semicolons Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9597
| * | VS: Quote custom command arguments containing semicolonsBrad King2024-06-141-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `GoogleTest` module needs this to pass the `TEST_EXECUTOR` definition to its `GoogleTestAddTests.cmake` helper script in the `POST_BUILD` command since commit f875c479f5 (GoogleTest: Honor TEST_LAUNCHER in gtest_discover_tests, 2024-01-17, v3.29.0-rc1~34^2). Previously it worked only if other characters, such as spaces, caused the argument to be quoted. This was exposed by running the `RunCMake.GoogleTest` test in a path without spaces. Reported-by: Garrett Campbell <gcampbell@microsoft.com>
| * | CMake 3.29.5v3.29.5Brad King2024-06-061-1/+1
| | |
* | | CMake 3.30.0-rc2v3.30.0-rc2Brad King2024-06-121-1/+1
| | |
* | | CMake 3.30.0-rc1v3.30.0-rc1Brad King2024-06-061-1/+1
| | |
* | | Merge topic 'gui-relative-build-path' into release-3.30Brad King2024-06-063-6/+60
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | a872844908 cmake-gui: Handle relative paths in the build directory text input Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9459
| * | | cmake-gui: Handle relative paths in the build directory text inputRoc R. Currius2024-06-053-6/+60
| | | | | | | | | | | | | | | | | | | | Interpret a relative path with respect to the previously configured directory.
* | | | Merge topic 'ctest-jobserver-fifo-hang' into release-3.30Brad King2024-06-061-0/+4
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | ff077af032 ctest: Set close-on-exec for jobserver FIFO Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9580
| * | | ctest: Set close-on-exec for jobserver FIFOJoan Bruguera Micó2024-06-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the close-on-exec flag to prevent the jobserver FIFO file descriptor from leaking to subprocesses spawned by `ctest`. This leak is usually harmless, but can cause `make test -jN` to hang at the end of the build if a test leaves a background process running with the jobserver FIFO file descriptor open. Fixes: #26027
| * | | CMake 3.29.4v3.29.4Brad King2024-06-031-1/+1
| | | |
| * | | Merge topic 'update-kwsys' into release-3.29Brad King2024-05-291-1/+25
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | 98dd754b62 KWSys: ConsoleBuf: Fix test case when running under Windows Terminal Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9553
| | * | KWSys: ConsoleBuf: Fix test case when running under Windows TerminalBrad King2024-05-281-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Our test case writes a NUL byte to the console to test its behavior. The behavior of Windows Terminal differs from Windows Console Host (conhost.exe). Detect which of these is in use at runtime and adjust our expected result accordingly.
| | * | Merge topic 'cxxmodules-gcc-binary-mode' into release-3.28Brad King2024-05-173-1/+29
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9525
| * | \ \ Merge topic 'cxxmodules-gcc-binary-mode' into release-3.29Brad King2024-05-173-1/+29
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | 9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9525
| * | | | Merge topic 'cmp0037-message' into release-3.29Brad King2024-05-151-3/+5
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !9519
| * | | | CMake 3.29.3v3.29.3Brad King2024-05-071-1/+1
| | | | |
| * | | | Merge topic 'cxxmodules-build-export-different-directory' into release-3.29Brad King2024-05-031-2/+4
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1fba6d3233 Merge branch 'cxxmodules-build-export-different-directory-3.28' into cxxmodules-build-export-different-directory ec35251510 cmDyndepCollation: look at all `export(TARGETS)` calls Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9485
| * \ \ \ \ Merge topic 'vs-scan-module-deps-settings' into release-3.29Brad King2024-05-024-14/+52
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3022f0363f VS: set ScanSourceForModuleDependencies at vcxproj level dff511ad28 cmGeneratorTarget: add a target-level query for "needs dyndep" Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: AaronRuizMoraUK <aaronruizmora@gmail.com> Merge-request: !9471
* | | | | | | Begin 3.30 release versioningBrad King2024-06-051-3/+3
| |_|_|_|_|/ |/| | | | |
* | | | | | Merge topic 'macos-check-archs'Brad King2024-06-056-4/+187
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | db409e5e68 APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES 598bc70474 file: Add undocumented READ_MACHO subcommand on macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9492
| * | | | | | file: Add undocumented READ_MACHO subcommand on macOSRené Bertin2024-06-046-4/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a way to parse the architectures of a Mach-O binary. Issue: #25952
* | | | | | | Merge topic 'cmFileSet-FixWindowsPerformance'Brad King2024-06-051-5/+31
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c598a4609c cmFileSet: Fix poor performance of large file sets with export() on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9572
| * | | | | | | cmFileSet: Fix poor performance of large file sets with export() on WindowsJochem van Boxtel2024-06-041-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exporting targets having large FILE_SETs with install(EXPORT) or export(EXPORT) currently performs poorly on Windows compared to Unix-like systems, because cmFileSet::EvaluateDirectoryEntries calls SystemTools::SameFile on every pair of parent directories in the file set. SystemTools::SameFile opens and closes two read-only filesystem handles. This causes a significant performance drop on Windows for FILE_SETs with even a couple of dozens of files. Use the recently added SystemTools::GetFileId function in kwsys (https://gitlab.kitware.com/utils/kwsys/-/merge_requests/298) instead of SameFile to cache the identity of a directory in cmFileSet::EvaluateDirectoryEntries. This means only one filesystem handle is needed per distinct directory path, instead of two per (even if they're equal) directory pair.
* | | | | | | | CMake Nightly Date StampKitware Robot2024-06-051-1/+1
| | | | | | | |
* | | | | | | | Merge topic 'gui-trailing-slash-on-dirs'Brad King2024-06-041-3/+9
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | afa1d0d0e3 CMakeGUI: Sanitize source and build dirs the same as command line Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9573
| * | | | | | | | CMakeGUI: Sanitize source and build dirs the same as command lineCraig Scott2024-06-011-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes a difference when projects compare things like CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR and the source directory has a trailing slash in the GUI. The command line cmake invocation cleans the paths at the beginning, so such comparisons return true. But the GUI currently passes the paths unmodified, so such comparisons return false. Change the logic to sanitize the paths used through the GUI in the same way that the command line invocation does. Fixes: #21421