| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Fixes #26108
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
dfe0f3f358 VS: Fix '-T version=14.4x' under VS 17.1x
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9622
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
576567f028 Link feature attributes: stabilization
5617c34c31 Libraries processing: update configuration wording
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9607
|
| | |
| | |
| | |
| | |
| | | |
* enhance OVERRIDE handling
* Update wording
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Look up the value of `CMAKE_CONFIGURATION_TYPES` only in the top level
directory.
Fixes: #26064
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
9b672e8075 VS: Quote custom command arguments containing semicolons
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9597
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Interpret a relative path with respect to the previously configured
directory.
|
|\ \ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | | |
98dd754b62 KWSys: ConsoleBuf: Fix test case when running under Windows Terminal
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9553
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9525
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9525
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| |_|_|_|_|/
|/| | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Provide a way to parse the architectures of a Mach-O binary.
Issue: #25952
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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.
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
afa1d0d0e3 CMakeGUI: Sanitize source and build dirs the same as command line
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9573
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|