Commit Graph

69855 Commits

Author SHA1 Message Date
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
Brad King
eb35b2897d Merge branch 'release-4.0' 2025-03-07 12:10:18 -05:00
Brad King
4e7aed2cd2 Merge topic 'cmake-gui-incidental-errors'
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:10:18 -05:00
Brad King
e8b7c9c975 Merge topic 'cmake-gui-incidental-errors' into release-4.0
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:10:16 -05:00
Brad King
0b3012c367 Merge branch 'release-4.0' 2025-03-07 12:08:33 -05:00
Brad King
cdbeb7773e Merge topic 'ctest-regression'
712cb8cb14 ctest: Restore support for -T Test without dashboard configuration
e47dc29967 cmCTestStartCommand: Remove unnecessary code
f54699d31d cmCTest: De-duplicate working directory code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10432
2025-03-07 12:08:33 -05:00
Brad King
309bc1f332 Merge topic 'ctest-regression' into release-4.0
712cb8cb14 ctest: Restore support for -T Test without dashboard configuration
e47dc29967 cmCTestStartCommand: Remove unnecessary code
f54699d31d cmCTest: De-duplicate working directory code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10432
2025-03-07 12:08:31 -05:00
Kitware Robot
65f9963eb0 CMake Nightly Date Stamp 2025-03-07 00:08:17 -05:00
Peter Kokot
dc20787020
FindSQLite3: Replace REQUIRED_VARS order
This displays the library name in the result message instead of the
include directory. In cases where the include directory is /usr/include
is a bit less informative compared to a library name. For example,
/usr/lib/x86_64-linux-gnu/libsqlite3.so
2025-03-06 23:30:08 +01:00
Peter Kokot
d3b7f0d272
CheckInclude{FileCXX,File,Files}: Add examples
This adds some examples to modules for checking headers.
2025-03-06 23:10:28 +01:00
Peter Kokot
a76b533562
CTestCoverageCollectGCOV: Update documentation
- Added missing arguments to the function signature
- Synced some minor formatting/RST nits
- Added simplified example
2025-03-06 18:26:54 +01:00
Giacomo Rombaut
fe11677945 GenEx: Fix TARGET_PDB_FILE_BASE_NAME with PDB_NAME and DEBUG_POSTFIX
When `PDB_NAME` is explicitly set, the `<CONFIG>_POSTFIX` is not added
to the `.pdb` names.

Fixes: #26733
2025-03-06 11:40:59 -05:00
Brad King
434c289f3b Help: Clarify references to <CONFIG>_POSTFIX target properties
Update wording added by commit 6e5ccabe9b (Genex: Update
$<TARGET_FILE_BASE_NAME:...>: take care of POSTFIX, 2019-04-25,
v3.15.0-rc1~175^2) to associate references to the `<CONFIG>_POSTFIX`
properties with references to the `OUTPUT_NAME` properties because
they are both used together.  Avoid association with the `PDB_NAME`
properties because they cause `<CONFIG>_POSTFIX` to be ignored.
2025-03-06 11:32:20 -05:00
Juan Ramos
e9c494005c cmake-gui: Fix regression that prints an incidental error on fresh build trees
Since commit a872844908 (cmake-gui: Handle relative paths in the build
directory text input, 2024-04-24, v3.30.0-rc1~5^2), `cmake-gui` gave an
incidental error message even when a valid build directory was being
passed.  Fix this by checking for a non-empty path before using it.

Fixes: #26744
2025-03-06 11:13:06 -05:00
Daniel Pfeifer
712cb8cb14 ctest: Restore support for -T Test without dashboard configuration
Since commit 774fcbe49c (CTest: Base command line mode on top of
scripting commands, 2024-10-05, v4.0.0-rc1~653^2) we drive dashboard
client steps through `cmCTestHandlerCommand::ExecuteHandlerCommand`
instead of calling `ProcessHandler` directly.  This requires the
`BuildDirectory` to be known to establish a work directory.

Fixes: #26743
Co-authored-by: Brad King <brad.king@kitware.com>
2025-03-06 09:43:22 -05:00
Daniel Pfeifer
e47dc29967 cmCTestStartCommand: Remove unnecessary code
We called `UpdateCTestConfiguration` but set an internal option
that made it a no-op.  Instead, just do not call it.
2025-03-06 09:43:22 -05:00