Commit Graph

69870 Commits

Author SHA1 Message Date
Brad King
d10a875b21 Merge branch 'release-3.31' into release-4.0 2025-03-11 09:23:41 -04:00
Brad King
40b95b1aeb Merge branch 'release-4.0' 2025-03-11 09:22:46 -04:00
Brad King
1e759e0bb7 Merge topic 'curl-opt-netrc'
1b0c92a3a1 cmCurl: Avoid using undocumented type for CURLOPT_NETRC values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10449
2025-03-11 09:22:46 -04:00
Brad King
1150091f61 Merge topic 'curl-opt-netrc' into release-4.0
1b0c92a3a1 cmCurl: Avoid using undocumented type for CURLOPT_NETRC values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10449
2025-03-11 09:22:43 -04:00
Brad King
a682a95b31 Merge topic 'curl-opt-netrc' into release-3.31
1b0c92a3a1 cmCurl: Avoid using undocumented type for CURLOPT_NETRC values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10449
2025-03-11 09:21:36 -04:00
Kitware Robot
2308e23c7f CMake Nightly Date Stamp 2025-03-11 00:04:46 -04:00
Brad King
a44a2d2579 ci: Explicitly enable or disable RunCMake.AppleSilicon test in macos jobs
Enable it on `macos-arm64` jobs and disable it on `macos-x86_64` jobs.
Since the default detection pierces Rosetta, it cannot be used in CI
where we might build and test on different hosts.
2025-03-10 17:02:33 -04:00
Brad King
0a5efe8489 cmSystemTools: Fix GetRealPath implementation on Windows
In commit 823e1df54c (cmSystemTools: Implement GetRealPath on Windows,
2024-11-04, v4.0.0-rc1~521^2~1) we implemented the POSIX behavior that
resolves symlinks followed by '..' components.  However, Windows just
removes them lexically.  Also, we were not handling all junction types.

Instead, use `GetFinalPathNameByHandleW` via `uv_fs_realpath`.

Note that we previously attempted this in commit 640709e7db
(cmSystemTools: Implement GetRealPath on Windows, 2017-10-02,
v3.11.0-rc1~445^2~1) but reverted it in commit 83630d4918
(cmSystemTools: Revert GetRealPath implementation on Windows,
2018-05-29, v3.11.3~3^2) due to resolving `subst` drives.  This time,
add code to re-`subst`itute the drive in the resolved path.

Fixes: #26750
Issue: #17206
2025-03-10 14:50:09 -04:00
Atri Bhattacharya
a869b79c59 FindHDF5: Prefer h5hl* compilers for HDF5_FIND_HL
Prefer `h5hlcc`, `h5hlc++`, and `h5hlfc` compilers when HDF5's HL libraries
are requested. These include the `-lhdf_hl` in the command line, whereas
the non-hl compilers (like `h5cc`) do not. Using the latter, therefore,
leads to cmake complaining about not finding the `HDF5_HL` libraries even
though they are present in the same location as the `hdf5` library itself.

Fixes: #23261
2025-03-10 11:53:01 -04:00
Brad King
5910bf0b40 cmSystemTools: Restore GetRealPathResolvingWindowsSubst
We need it to restore behavior on Windows.  Revert commit 16af27fd42
(cmSystemTools: Drop GetRealPathResolvingWindowsSubst, 2024-11-04,
v4.0.0-rc1~521^2), but with a cleaned up implementation.

Issue: #26750
Issue: #18033
2025-03-10 11:25:23 -04:00
Brad King
1b0c92a3a1 cmCurl: Avoid using undocumented type for CURLOPT_NETRC values
Since upstream curl commit `2ec00372a1` (curl.h: change some enums to
defines with L suffix, 2025-02-25), the `CURL_NETRC_*` constants are
integer literals instead of `enum CURL_NETRC_OPTION`.  It turns out
that `curl_easy_setopt` has always expected a `long` anyway, and
that `CURL_NETRC_OPTION` is not documented for public use.

Fixes: #26754
2025-03-10 11:17:19 -04:00
Brad King
d1792c48d5 cmake-gui: Suppress incidental error messages while choosing build tree
Avoid printing

    Error: <path> is not a directory

to the console for every update to the GUI's build directory widget.
2025-03-10 10:49:47 -04:00
Brad King
6f0ad398f1 cmake-gui: Clarify "Open Project" button implementation details 2025-03-10 10:48:24 -04:00
Marc Chevrier
ee066d2271 LinkerId: Suppress decorated diagnostics during linker inspection
Fixes: #26747
2025-03-10 10:36:27 -04:00
Alex Turbov
d6aeb98869 pre-commit: ignore all text after scissor line in COMMIT_EDITMSG
If `git` is configured to open an editor on commit (to edit a commit
message), it adds a `git diff` below the scissor line.  Tell `typos`
to ignore everything below it.
2025-03-10 10:30:16 -04:00
Brad King
7c55e2a698 Merge topic 'patch-UsewxWidgets'
c827016b10 UsewxWidgets, Use_wxWindows: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10437
2025-03-10 10:25:23 -04:00
Brad King
cfb59a273a Merge topic 'patch-CheckIncludeFile'
d3b7f0d272 CheckInclude{FileCXX,File,Files}: Add examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10435
2025-03-10 10:24:23 -04:00
Brad King
8a8db36758 Merge topic 'patch-FindSQLite3'
dc20787020 FindSQLite3: Replace REQUIRED_VARS order

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10436
2025-03-10 10:22:41 -04:00
Brad King
a723e22e20 Merge branch 'release-4.0' 2025-03-10 10:21:06 -04:00
Brad King
c4f8b13845 Merge topic 'normalize-input-paths'
fc5584f9bb cmSystemTools: Fix regression in input path normalization on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10440
2025-03-10 10:21:06 -04:00
Brad King
de7334e4a8 Merge topic 'normalize-input-paths' into release-4.0
fc5584f9bb cmSystemTools: Fix regression in input path normalization on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10440
2025-03-10 10:21:04 -04:00
Brad King
af63cb01e9 Merge branch 'release-4.0' 2025-03-10 10:19:04 -04:00
Brad King
f65fcde174 Merge topic 'document-cps-components-resolution'
dd8bf95271 Help: Document handling of CPS transitive components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10434
2025-03-10 10:19:04 -04:00
Brad King
941dab2f64 Merge topic 'document-cps-components-resolution' into release-4.0
dd8bf95271 Help: Document handling of CPS transitive components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10434
2025-03-10 10:19:02 -04:00
Kitware Robot
226b853e59 CMake Nightly Date Stamp 2025-03-10 00:04:25 -04:00
Peter Kokot
eb18960b60
CheckPIESupported: Update documentation
- The module purpose explanation extended to clarify what this module
  enables and what gets configured when not using this module.
- Examples extended with include() and some minor adjustments
- Policy CMP0083 info described with a note directive
2025-03-10 01:14:43 +01:00
Brad King
e188d8d6dc Merge branch 'release-4.0' 2025-03-09 10:48:46 -04:00
Brad King
cd38131f31 Merge topic 'path-resolver'
8dfc725cdb PathResolver: Add mode to collapse paths naively and look up on-disk case
75913fe430 PathResolver: Document in comments the on-disk case lookup on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10438
2025-03-09 10:48:46 -04:00
Brad King
a4a4596c24 Merge topic 'path-resolver' into release-4.0
8dfc725cdb PathResolver: Add mode to collapse paths naively and look up on-disk case
75913fe430 PathResolver: Document in comments the on-disk case lookup on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10438
2025-03-09 10:48:44 -04:00
Kitware Robot
e77ac34cd4 CMake Nightly Date Stamp 2025-03-09 00:07:50 -05:00
Peter Kokot
ee398e8946
FindPackageMessage: Update documentation
- Documentation updated.
- This module is internally already used by the
  FindPackageHandleStandardArgs module and can conflict when used again
  in the find module due to the same <PackageName> used, or when QUIET
  option is used. For this reason, the example is changed and explained
  at the bottom to use find_package_handle_standard_args().
- Lower-case style function used in FindPackageHandleStandardArgs.
2025-03-08 22:50:11 +01:00
Peter Kokot
457bf223e6
CMakePrintSystemInformation: Update documentation 2025-03-08 22:27:42 +01:00
Nikita Nemkin
9e581043ac VS: Fix incorrect XML in Fortran projects
This change has no impact because the incorrect XML is technically
valid and the Fortran VS extension ignores the ProjectGUID attribute
anyway.

Fixes: #11437
2025-03-09 02:15:58 +05:00
Peter Kokot
a04fd272c2
CheckIPOSupported: Update documentation
- Added some minor descriptions and include() to examples
- The second example extended also with option() as it is very common
  usage in CMake to enable IPO conditionally
2025-03-08 22:05:05 +01:00
Kitware Robot
24a1a7ac5d CMake Nightly Date Stamp 2025-03-08 00:12:34 -05:00
Brad King
fc5584f9bb cmSystemTools: Fix regression in input path normalization on Windows
Since commit 622596c6b2 (cmSystemTools: Re-implement
ToNormalizedPathOnDisk without translation map, 2024-10-30,
v4.0.0-rc1~528^2~5) we normalize input paths, while resolving symlinks
only if followed by `..` components, by using `cm::PathResolver`'s
`LogicalPath` mode.  However, that approach assumes POSIX semantics for
resolving paths with symlinks and is incorrect on Windows.

On Windows, file system operations naively remove any component
preceding `..` regardless of whether it is a symlink.  Prior to the
above commit, `ToNormalizedPathOnDisk` matched that behavior using
`CollapseFullPath` followed by `GetActualCaseForPath`.  Restore it using
`cm::PathResolver`'s `CasePath` mode.

Issue: #26750
2025-03-07 18:26:14 -05:00
Brad King
8dfc725cdb PathResolver: Add mode to collapse paths naively and look up on-disk case
In CMake 3.31 and below, `CollapseFullPath` did this on Windows.  KWSys
has since stopped looking up the on-disk case in `CollapseFullPath` to
avoid disk access when most callers only need an in-memory operation.
We currently call `GetActualCaseForPath` explicitly when needed.

Add a mode to `cm::PathResolver` to combine these operations and cache
disk access behind the `System::ReadName` callback.  We will use this to
restore the way CMake 3.31 and below normalized input paths on Windows.

Issue: #26750
Issue: #20214
2025-03-07 18:22:46 -05:00
Brad King
75913fe430 PathResolver: Document in comments the on-disk case lookup on macOS
This was added by commit 08040ced86 (cmake: Look up on-disk case of
input paths on macOS, 2024-11-20, v4.0.0-rc1~390^2).  Update relevant
comments.
2025-03-07 18:14:57 -05:00
Matthew Woehlke
dd8bf95271 Help: Document handling of CPS transitive components
Add documentation explaining how CMake handles component requests of a
CPS transitive dependency.
2025-03-07 13:19:43 -05:00
Peter Kokot
c827016b10
UsewxWidgets, Use_wxWindows: Update documentation
UsewxWidgets:
- Module description updated according to current code
- Mention of the link_libraries() command removed as it was always
  commented out and never used in this specific module file
- Added example, how to use IMPORTED target of the found package instead
  of this module - preparing it for deprecation in the future

Use_wxWindows:
- Mention of the UsewxWidgets module removed
- The STATUS message changed to DEPRECATION and message simplified
2025-03-07 18:43:29 +01:00
Brad King
aab6f9f3f4 Merge topic 'patch-CTestCoverageCollectGCOV'
a76b533562 CTestCoverageCollectGCOV: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10433
2025-03-07 12:19:27 -05:00
Brad King
5d510ae8a0 Merge topic 'genex-fix-target-pdb-base-name'
fe11677945 GenEx: Fix TARGET_PDB_FILE_BASE_NAME with PDB_NAME and DEBUG_POSTFIX
434c289f3b Help: Clarify references to <CONFIG>_POSTFIX target properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10431
2025-03-07 12:18:28 -05:00
Brad King
fbe6d9ed2e Merge topic 'compile-pdb-output-directory-manual-genex'
b66dbdb6f1 Help: Document COMPILE_PDB_OUTPUT_DIRECTORY genex support
6080449551 Help: Document when PDB_OUTPUT_DIRECTORY gained genex support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10430
2025-03-07 12:17:05 -05:00
Brad King
c8074c1c43 Merge branch 'release-4.0' 2025-03-07 12:15:01 -05:00
Brad King
b5521c4358 Merge branch 'release-3.31' 2025-03-07 12:14:54 -05:00
Brad King
59a6fb839d Merge branch 'release-3.30' 2025-03-07 12:14:48 -05:00
Brad King
abee5a5068 Merge branch 'release-3.31' into release-4.0 2025-03-07 12:14:38 -05:00
Brad King
f80118609d Merge branch 'release-3.30' into release-3.31 2025-03-07 12:14:26 -05:00
Brad King
f68bd58c9f Merge topic 'cmake-gui-incidental-errors' into release-3.31
e9c494005c cmake-gui: Fix regression that prints an incidental error on fresh build trees

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10429
2025-03-07 12:14:00 -05:00
Brad King
de5749332a Merge topic 'cmake-gui-incidental-errors' into release-3.30
e9c494005c cmake-gui: Fix regression that prints an incidental error on fresh build trees

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10429
2025-03-07 12:12:42 -05:00