summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.29.9v3.29.9Brad King2024-11-211-1/+1
|
* execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptorsBrad King2024-11-201-3/+23
| | | | | | | | | | | | | | | Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8), the descriptors for the `OUTPUT_FILE` and `ERROR_FILE` leak to child processes. With `ExternalProject` + `INSTALL_COMMAND` + `LOG_INSTALL`, the logging wrapper script leaks the log files' descriptors to the native build tool. If they happen to match the `make` job server's pipe fds, e.g., with GNU `make` <= 4.3, then the build fails with an error like: gmake[4]: *** read jobs pipe: Bad file descriptor. Stop. Fixes: #26398
* CMake 3.29.8v3.29.8Brad King2024-08-291-1/+1
|
* CMake 3.29.7v3.29.7Brad King2024-07-161-1/+1
|
* Merge topic 'vs-17.11' into release-3.29Brad 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.
* | Merge topic 'ctest-windows-std-handles' into release-3.29Brad King2024-06-243-34/+0
|\ \ | |/ |/| | | | | | | | | e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows Acked-by: Kitware Robot <kwrobot@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
| |
* | CMake 3.29.6v3.29.6Brad King2024-06-171-1/+1
| |
* | 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
| |
* | 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
| * | cmCxxModuleMapper: add a query for the open mode for the modmapBen Boeckel2024-05-163-1/+29
| | | | | | | | | | | | | | | | | | GCC (MinGW) wants to use `\n` on Windows too. Fixes: #25974
* | | 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
| * | CMP0037: Restore diagnostic message for invalid ALIAS target namesBrad King2024-05-141-3/+5
| |/ | | | | | | | | | | | | | | | | Refactoring in commit 7a4c02cb38 (cmGlobalGenerator: factor out messaging for CMP0037, 2023-09-24, v3.28.0-rc1~39^2~7) incorrectly switched to reporting the aliased target name instead of the invalid name of the alias itself. Fixes: #25979
| * CMake 3.28.5v3.28.5Brad King2024-05-071-1/+1
| |
| * Merge topic 'cxxmodules-build-export-different-directory' into release-3.28Brad King2024-05-031-2/+4
| |\ | | | | | | | | | | | | | | | | | | ec35251510 cmDyndepCollation: look at all `export(TARGETS)` calls Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9485
* | | 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 branch 'cxxmodules-build-export-different-directory-3.28' into ↵Ben Boeckel2024-05-021-2/+4
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | cxxmodules-build-export-different-directory * cxxmodules-build-export-different-directory-3.28: cmDyndepCollation: look at all `export(TARGETS)` calls
| | * | cmDyndepCollation: look at all `export(TARGETS)` callsBen Boeckel2024-05-021-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, only `export()` calls in the same directory were noticed. Also add a test that exports in a different directory than the target itself resides in. Fixes: #25813
* | | | 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
| * | VS: set ScanSourceForModuleDependencies at vcxproj levelBen Boeckel2024-05-012-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the target-wide `CXX_SCAN_FOR_MODULES`/`CMP0155` selection with the `.vcxproj`-wide `ScanSourceForModuleDependencies` setting. Set the per-source equivalent only when needed for a per-source `CXX_SCAN_FOR_MODULES` property. This approach enables Intellisense for interfaces imported from modules. It is also more consistent with what a user might expect when investigating the state of module scanning from the VS property panels. Fixes: #25806 Fixes: #25947
| * | cmGeneratorTarget: add a target-level query for "needs dyndep"Ben Boeckel2024-05-012-9/+31
| | | | | | | | | | | | | | | This can still be overridden per-source, but it indicates the state of the target's default behavior.
| * | Merge topic 'export-name-safe-name' into release-3.28Brad King2024-05-015-6/+23
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 142a85f9c1 cxxmodules: use filesystem-safe export names in filenames 4452d41488 cmGeneratorTarget: add method to get a filesystem-safe export name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9474
* | \ \ Merge topic 'export-name-safe-name' into release-3.29Brad King2024-05-015-6/+23
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 142a85f9c1 cxxmodules: use filesystem-safe export names in filenames 4452d41488 cmGeneratorTarget: add method to get a filesystem-safe export name Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9474
| * | | cxxmodules: use filesystem-safe export names in filenamesBen Boeckel2024-04-303-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | Also add tests. Fixes: #25828
| * | | cmGeneratorTarget: add method to get a filesystem-safe export nameBen Boeckel2024-04-292-0/+11
| | |/ | |/| | | | | | | | | | | | | | | | | | | C++ module support puts the export name in a filename. Export names with `:` in them are not valid filenames on Windows. Add a method to escape names as necessary. See: #25828
* | | Merge topic 'exported-modules-with-headers' into release-3.29Brad King2024-04-301-0/+4
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | 2041f7c9bf cmGeneratorTarget: add the original target as a COMPILE_ONLY link 051c2110c8 Tests/CXXModules: test exporting modules which include headers Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9469
| * | cmGeneratorTarget: add the original target as a COMPILE_ONLY linkBen Boeckel2024-04-271-0/+4
| |/ | | | | | | Fixes: #25909
| * CMake 3.28.4v3.28.4Brad King2024-03-201-1/+1
| |
* | CMake 3.29.2v3.29.2Brad King2024-04-111-1/+1
| |
* | Fix regression on reconfigure with unnormalized -DCMAKE_<LANG>_COMPILER=Brad King2024-04-101-8/+6
| | | | | | | | | | | | | | | | | | | | Since commit 3f2a5971c0 (Modules: CMAKE_*_COMPILER convert path to cmake path, 2023-12-02, v3.29.0-rc1~292^2) we normalize the path to the compiler. Update our logic that checks whether the compiler has changed to account for path normalization. Fixes: #25883 Issue: #25456
* | Swift: Ninja: Remove module dependency for executablesEvan Wilde2024-04-091-14/+27
| | | | | | | | | | | | | | We shouldn't include the swiftmodule in the ninja dependency graph unless that target emits a swiftmodule. Fixes: #25869
* | CMake 3.29.1v3.29.1Brad King2024-04-031-1/+1
| |
* | cmSystemTools: Fix compilation on DragonFly BSDCharlotte Koch2024-04-021-1/+2
| | | | | | | | Define `_XOPEN_SOURCE >= 700` to make `gettimeofday()` et al. available.
* | ctest: Restore enforcement of RESOURCE_LOCK test propertyBrad King2024-04-012-4/+12
| | | | | | | | | | | | | | | | | | Refactoring in commit 5ff0b4ed57 (cmCTestMultiProcessHandler: Consolidate test readiness checks, 2023-10-20, v3.29.0-rc1~378^2~4) accidentally broke `RESOURCE_LOCK`. Fix it and replace the previous test with one that would have caught this. Fixes: #25843
* | try_compile(): Include languages with _ or - when passing linker varsCraig Scott2024-03-221-1/+1
| | | | | | | | Fixes: #25809
* | CMake 3.29.0v3.29.0Brad King2024-03-211-1/+1
| |
* | Merge topic 'ninja-fortran-include' into release-3.29Brad King2024-03-202-9/+26
|\ \ | |/ | | | | | | | | | | | | 36dc8d6d50 Ninja: Fix Fortran module deps in files INCLUDEd by preprocessed sources Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9351
| * Ninja: Fix Fortran module deps in files INCLUDEd by preprocessed sourcesBrad King2024-03-192-9/+27
| | | | | | | | | | | | | | If a preprocessed source also uses the Fortran `INCLUDE` directive, search the original source file's directory. Fixes: #25792
* | CMake 3.29.0-rc4v3.29.0-rc4Brad King2024-03-141-1/+1
| |
* | Merge topic 'Apple-TBD-in-subdirecory' into release-3.29Brad King2024-03-141-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | bcc26ce465 Apple Text Based Stubs: should be usage in subdirectories Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9341
| * | Apple Text Based Stubs: should be usage in subdirectoriesMarc Chevrier2024-03-141-0/+3
| | | | | | | | | | | | Fixes: #25765