Commit Graph

67938 Commits

Author SHA1 Message Date
Kitware Robot
894ac85d6b CMake Nightly Date Stamp 2024-11-13 00:01:40 -05:00
Brad King
c5840e2ebc Merge topic 'cmake-self-symlinks'
0994bc7929 cmake: Preserve symlinks in references to itself when possible
0925abb09b cmSystemTools: Invert condition to make non-bootstrap logic easier to follow
46ac308249 cmSystemTools: Factor out helpers from FindCMakeResources
b91ec8c48f cmSystemTools: Clarify decision to look for resources from the build tree
cbee4eed0f cmSystemTools: Re-order resource and tool finding logic
f6acf1f7b7 cmSystemTools: Reduce rightward drift in success path on UNIX
962e4479d4 cmSystemTools: Clarify app bundle layout on macOS
56632ddaa3 cmSystemTools: Remove redundant filesystem access on Windows
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Carlo Cabrera <carlo.antonio.cabrera@gmail.com>
Merge-request: !9987
2024-11-12 10:17:56 -05:00
Brad King
9b83c24494 Merge branch 'release-3.31' 2024-11-12 10:16:48 -05:00
Brad King
b14df1b4bb Merge topic 'FindSQLite3-pkg-config'
2d228201fc Help: Guard calls to pkg_check_modules in cmake-developer(7) example
674a987898 FindSQLite3: Guard calls to pkg_check_modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9983
2024-11-12 10:16:48 -05:00
Brad King
4f0eb0a41e Merge topic 'FindSQLite3-pkg-config' into release-3.31
2d228201fc Help: Guard calls to pkg_check_modules in cmake-developer(7) example
674a987898 FindSQLite3: Guard calls to pkg_check_modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9983
2024-11-12 10:16:46 -05:00
Brad King
b701b61368 Merge branch 'release-3.31' 2024-11-12 10:14:13 -05:00
Brad King
1735e127ea Merge branch 'release-3.30' 2024-11-12 10:14:11 -05:00
Brad King
ab6a317cf1 Merge branch 'release-3.30' into release-3.31 2024-11-12 10:14:05 -05:00
Brad King
de94242066 Merge branch 'release-3.31' 2024-11-12 10:13:32 -05:00
Brad King
db250e0734 Merge topic 'FindBoost-1.86'
f941fb6c0b FindBoost: Add support for Boost 1.86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9988
2024-11-12 10:13:32 -05:00
Brad King
20a1ee1a9d Merge topic 'FindBoost-1.86' into release-3.31
f941fb6c0b FindBoost: Add support for Boost 1.86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9988
2024-11-12 10:13:31 -05:00
Brad King
070562477b Merge branch 'release-3.31' 2024-11-12 10:12:26 -05:00
Brad King
a73abf3ac0 Merge topic 'ci-fedora-41'
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9989
2024-11-12 10:12:25 -05:00
Brad King
e6accf384d Merge topic 'ci-fedora-41' into release-3.31
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9989
2024-11-12 10:12:24 -05:00
Brad King
e097ae6478 Merge topic 'FindBoost-1.86' into release-3.30
f941fb6c0b FindBoost: Add support for Boost 1.86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9988
2024-11-12 10:12:20 -05:00
Kitware Robot
3c9b8b4a7c CMake Nightly Date Stamp 2024-11-12 00:01:46 -05:00
Brad King
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates
In particular, get:

* flang-19.1.0-2.fc41 to restore OpenMP support
* IWYU 0.23 for LLVM/Clang 19 support
2024-11-11 14:35:00 -05:00
Brad King
8876d32dc8 Merge branch 'release-3.31' 2024-11-11 13:55:19 -05:00
Brad King
37035746e2 Merge topic 'doc-CMP0132'
aae8d604d5 Help: Add missing one-line summary to policy CMP0132

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9986
2024-11-11 13:55:19 -05:00
Brad King
7f2dba2748 Merge topic 'doc-CMP0132' into release-3.31
aae8d604d5 Help: Add missing one-line summary to policy CMP0132

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9986
2024-11-11 13:55:18 -05:00
Brad King
f941fb6c0b FindBoost: Add support for Boost 1.86
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_86_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.86.0 source tree.
They are the same as 1.85's dependencies, so just update
the version check for warning about newer versions.

Fixes: #26433
2024-11-11 13:44:47 -05:00
Brad King
0994bc7929 cmake: Preserve symlinks in references to itself when possible
CMake's tools search relative to their own locations to find their
resources.  Previously they always started at their own `realpath()`.
The intention was to support invocation through symbolic links to the
binaries where the resources can only be found under the real prefix:

    /logical/prefix/bin/cmake   -> /real/prefix/bin/cmake
                                   /real/prefix/share/cmake

The generated build system refers to CMake's own tools and resources
through the `/real/prefix`.  This is not desirable in the case that the
`/logical/prefix` is meant as the canonical location and uses symbolic
links for both tools and resources as an implementation detail:

    /logical/prefix/bin/cmake   -> /real/prefix/bin/cmake
    /logical/prefix/share/cmake -> /real/prefix/share/cmake

In this case, the generated build system should refer to CMake's own
tools and resources through the `/logical/prefix`.  This way the
`/real/prefix` can be changed, and the symbolic links updated,
without breaking already-generated build systems.

Fixes: #19849
Fixes: #21059
Inspired-by: Carlo Cabrera <github@carlo.cab>
Inspired-by: Rodger Combs <rodger.combs@gmail.com>
2024-11-11 11:53:59 -05:00
Brad King
0925abb09b cmSystemTools: Invert condition to make non-bootstrap logic easier to follow 2024-11-11 11:53:00 -05:00
Brad King
46ac308249 cmSystemTools: Factor out helpers from FindCMakeResources
Factor out helpers to:

- Find our own executable
- Find resources in the install tree or the build tree
2024-11-11 11:49:43 -05:00
Brad King
b91ec8c48f cmSystemTools: Clarify decision to look for resources from the build tree 2024-11-11 11:49:43 -05:00
Brad King
cbee4eed0f cmSystemTools: Re-order resource and tool finding logic
Consolidate `CMAKE_BOOTSTRAP` conditions.
2024-11-11 11:49:05 -05:00
Peter Kokot
2d228201fc Help: Guard calls to pkg_check_modules in cmake-developer(7) example
This was missed in commit 25b947589a (Modules: Guard calls to
pkg_check_modules, 2024-08-07, v3.31.0-rc1~236^2).
2024-11-11 10:53:22 -05:00
Peter Kokot
674a987898 FindSQLite3: Guard calls to pkg_check_modules
This was missed in commit 25b947589a (Modules: Guard calls to
pkg_check_modules, 2024-08-07, v3.31.0-rc1~236^2).
2024-11-11 10:53:21 -05:00
Brad King
f6acf1f7b7 cmSystemTools: Reduce rightward drift in success path on UNIX 2024-11-11 10:27:34 -05:00
Brad King
962e4479d4 cmSystemTools: Clarify app bundle layout on macOS 2024-11-11 10:27:34 -05:00
Brad King
56632ddaa3 cmSystemTools: Remove redundant filesystem access on Windows
Since commit 823e1df54c (cmSystemTools: Implement GetRealPath on
Windows, 2024-11-04), GetRealPath now returns the actual case
on disk.  It also returns the original path on failure.
2024-11-11 10:27:34 -05:00
Brad King
f2b3907cd0 cmSystemTools: Move static data to anonymous namespace 2024-11-11 10:27:33 -05:00
Brad King
87cb3036e5 Merge topic 'file-LOCK-windows'
8e810f8a7e cmFileLock: Fix implementation on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9976
2024-11-11 09:39:45 -05:00
Brad King
aae8d604d5 Help: Add missing one-line summary to policy CMP0132
This was missed in commit 05e510bf0b (CMP0132: Don't set compiler
environment variables on first run, 2022-03-23, v3.24.0-rc1~380^2).
2024-11-11 09:38:51 -05:00
Kitware Robot
0c93e086b7 CMake Nightly Date Stamp 2024-11-11 00:03:01 -05:00
Kitware Robot
34ebc4bc14 CMake Nightly Date Stamp 2024-11-10 00:01:20 -05:00
Kitware Robot
23e24788ab CMake Nightly Date Stamp 2024-11-09 00:01:15 -05:00
Alexander Neumann
8e810f8a7e cmFileLock: Fix implementation on Windows
Fixes: #26428
2024-11-08 12:52:13 -05:00
Brad King
ed7910b642 Merge topic 'refactor-documentation-formatter'
dd0142e6d0 cmDocumentationFormatter: Refactor the `PrintFormatted()` method
ef88ec41f3 testDocumentationFormatter: Add some more test cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9979
2024-11-08 11:54:19 -05:00
Brad King
b89610b5fa Merge topic 'apple-compiler-selection'
7b19531291 macOS: Do not pass any SDK/-isysroot to compilers by default
3b8b70fe72 macOS: Simplify logic converting CMAKE_OSX_SYSROOT to a path
c55c113076 macOS: Revert finding tools inside Xcode that are not in the PATH
77fcee9204 macOS: Revert "Resolve compiler in /usr/bin to that reported by Xcode xcrun"
9eb530842c Tests/RunCMake/CMakePresets: Do not forward empty CMAKE_MAKE_PROGRAM
7fb14e707d Tests/RunCMake/XcFramework: Use macosx SDK in all multi-arch macOS cases
70ff1f15fc Tests/CTestTest*: Detect compiler from environment
1faf60cffc Tests/FortranC: Handle empty CMAKE_OSX_SYSROOT
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: FX Coudert <fxcoudert@gmail.com>
Merge-request: !9977
2024-11-08 11:50:31 -05:00
Kitware Robot
faf6954efa CMake Nightly Date Stamp 2024-11-08 00:01:49 -05:00
Alex Turbov
dd0142e6d0 cmDocumentationFormatter: Refactor the PrintFormatted() method
- Introduce the `std::string Format(std:string)` method
- Simplify the algorithm to use `cmTokenizedView()` instead of pointers manipulation and slow iostreams
- Formatted text chunks are collected as a sequence of string views to join once at the end
2024-11-07 20:46:37 +04:00
Alex Turbov
ef88ec41f3 testDocumentationFormatter: Add some more test cases 2024-11-07 20:08:37 +04:00
Brad King
8353e6ab8d Merge topic 'vs-custom-command-disable-parallel-build'
4ee8705b12 VS: add source property VS_CUSTOM_COMMAND_DISABLE_PARALLEL_BUILD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9958
2024-11-07 10:07:03 -05:00
Brad King
3a51367548 Merge topic 'refactor-cmTokenize'
f3f70c2f90 StringAlgorithms: Refactor `cmTokenize()` function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9944
2024-11-07 10:06:04 -05:00
Brad King
15d9db0af3 Merge topic 'update-kwsys'
d269f82015 Merge branch 'upstream-KWSys' into update-kwsys
9b1a873de8 KWSys 2024-11-06 (81583094)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9975
2024-11-07 10:04:44 -05:00
Brad King
d3edfba804 Merge topic 'ninja-regenerate-scripts'
f50fb77a4f Ninja: Regenerate when test or install scripts are missing
79349dee01 cmake: Always update timestamps on test and install scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9923
2024-11-07 10:03:32 -05:00
Brad King
c417507523 Merge topic 'ctest-remove-handlers'
2b052ad5ca cmCTestUploadCommand: Remove handler usage
db3ccdce41 cmCTestUploadHandler: Move class into cmCTestUploadCommand.cxx
1b8f9274b2 cmCommand: Remove
8768a0c6e1 cmCTest*Command: Port away from cmCommand
c98ed10d0f cmCTest*Command: Declare member functions const
0e995d4897 cmCTest*Command: Direct use of cmExecutionStatus
26a697f7c1 cmCTest*Command: Access Makefile through an alias
caa449493b cmCTest*Command: Fortify argument parsing
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9968
2024-11-07 10:02:05 -05:00
Brad King
7b19531291 macOS: Do not pass any SDK/-isysroot to compilers by default
On modern macOS, compiler wrappers like `/usr/bin/cc` automatically
choose a SDK to pass via `-isysroot` to an underlying compiler from
Xcode or the CommandLineTools.  Other toolchains like Homebrew's `gcc-*`
come with a default SDK too.  Therefore, when targeting macOS, we no
longer need to choose any SDK or pass an `-isysroot` flag by default.

Update initialization of `CMAKE_OSX_SYSROOT` to be empty by default when
targeting macOS.

Fixes: #19180
2024-11-07 09:46:10 -05:00
Brad King
3b8b70fe72 macOS: Simplify logic converting CMAKE_OSX_SYSROOT to a path 2024-11-07 09:46:10 -05:00