Commit Graph

67864 Commits

Author SHA1 Message Date
Brad King 70ff1f15fc Tests/CTestTest*: Detect compiler from environment
Three of these tests were still using the compiler selected for building
CMake itself.  In general our test suite is supposed to let each test
select the compiler from the environment.  This is particularly
important on macOS where CMake might be built with compilers inside
Xcode, which require an explicit `CMAKE_OSX_SYSROOT`.
2024-11-07 09:46:09 -05:00
Brad King 1faf60cffc Tests/FortranC: Handle empty CMAKE_OSX_SYSROOT
The compiler inside Xcode requires an explicit `-isysroot`.
Replace it with the `/usr/bin/cc` wrapper.
2024-11-07 09:45:54 -05:00
Brad King 87a9e50995 Tests: Add missing include in sleep sources
Sources that use `atoi` need to include `<stdlib.h>`.
2024-11-07 09:45:54 -05:00
Brad King 9c02fad126 Merge branch 'release-3.31' 2024-11-06 09:13:36 -05:00
Brad King e22c8383b9 CMake 3.31.0 v3.31.0 2024-11-06 08:41:37 -05:00
Kitware Robot a99af46c3d CMake Nightly Date Stamp 2024-11-06 00:01:34 -05:00
Brad King cf0b482d8d Merge topic 'realpath-windows'
16af27fd42 cmSystemTools: Drop GetRealPathResolvingWindowsSubst
823e1df54c cmSystemTools: Implement GetRealPath on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9973
2024-11-05 09:10:02 -05:00
Brad King 85d0e377f7 Merge topic 'LINKER-prefix-generalization'
61aee8c7bd Add support of "LINKER:" prefix for Windows executable creation
8bcf9c7a3e Add support of "LINKER:" prefix for artifact creation flags
2bd4c06c26 Refactoring cmRulePlaceHolderExpander: propagate cmBuildStep information
35350c419d Add support of "LINKER:" prefix for CMAKE_<TYPE>_LINKER_FLAGS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9922
2024-11-05 09:08:44 -05:00
Brad King bda742578d Merge topic 'test-RunCMake.CTestTimeout'
f3f0cb31a2 Tests/RunCMake/CTestTimeout: Improve reliability when running on busy hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9974
2024-11-05 09:05:20 -05:00
Brad King bc09ea1eb5 Merge topic 'getopt-ifset'
17ee28728b cmCPackGenerator: Add GetOptionIfSet() to avoid duplicate calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9972
2024-11-05 09:04:37 -05:00
Brad King 3f6164d9c4 Merge topic 'doc-CheckTypeSize'
b71ed8ce05 CheckTypeSize: Add code examples

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9971
2024-11-05 09:03:03 -05:00
Brad King d1151e424f Merge topic 'doc-CheckTypeSize'
b76009bb5a CheckTypeSize: Document default language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9967
2024-11-05 09:01:16 -05:00
Kitware Robot d094dfa0c6 CMake Nightly Date Stamp 2024-11-05 00:01:37 -05:00
Brad King f3f0cb31a2 Tests/RunCMake/CTestTimeout: Improve reliability when running on busy hosts
The `Signal` case occasionally reaches the `TIMEOUT_SIGNAL_GRACE_PERIOD`
before the test process has a chance to print its `SIGUSR1` count.
Extend the grace period to make it less likely to be exceeded.
2024-11-04 16:43:59 -05:00
Vitaly Stakhovsky 17ee28728b cmCPackGenerator: Add GetOptionIfSet() to avoid duplicate calls 2024-11-04 12:59:15 -05:00
Brad King 16af27fd42 cmSystemTools: Drop GetRealPathResolvingWindowsSubst
It was created by commit 83630d4918 (cmSystemTools: Revert GetRealPath
implementation on Windows, 2018-05-29, v3.11.3~3^2) to preserve support
on Windows for one call site.  Now that `GetRealPath` works again on
Windows, we can use that instead.

Issue: #18033
2024-11-04 12:03:56 -05:00
Brad King 823e1df54c cmSystemTools: Implement GetRealPath on Windows
Use `cm::PathResolver`'s `RealPath` variant to normalize paths,
look up their on-disk case, and resolve symlinks, but without
resolving `subst` drives on Windows.

Fixes: #17206
2024-11-04 11:56:14 -05:00
Marc Chevrier 61aee8c7bd Add support of "LINKER:" prefix for Windows executable creation
The following variables now support the LINKER: prefix:
* CMAKE_<LANG>_CREATE_WIN32_EXE
* CMAKE_<LANG>_CREATE_CONSOLE_EXE
2024-11-04 17:08:03 +01:00
Marc Chevrier 8bcf9c7a3e Add support of "LINKER:" prefix for artifact creation flags
The following variables now support the LINKER: prefix:
    * CMAKE_SHARED_LIBRARY_CREATE_<LANG>_FLAGS
    * CMAKE_SHARED_MODULE_CREATE_<LANG>_FLAGS
    * CMAKE_<LANG>_LINK_FLAGS
2024-11-04 17:08:03 +01:00
Marc Chevrier 2bd4c06c26 Refactoring cmRulePlaceHolderExpander: propagate cmBuildStep information 2024-11-04 17:08:02 +01:00
Marc Chevrier 35350c419d Add support of "LINKER:" prefix for CMAKE_<TYPE>_LINKER_FLAGS variable
The following variables now support the LINKER: prefix:
* CMAKE_<TYPE>_LINKER_FLAGS
* CMAKE_<TYPE>_LINKER_FLAGS_<CONFIG>

Fixes: #26171
2024-11-04 17:07:58 +01:00
Peter Kokot b71ed8ce05 CheckTypeSize: Add code examples
This adds some basic examples of the `<variable>_CODE` and
`<variable>_KEYS`.
2024-11-04 10:55:11 -05:00
Peter Kokot b76009bb5a CheckTypeSize: Document default language
When LANGUAGE keyword is not provided default language for the
check_type_size is C.
2024-11-04 10:39:16 -05:00
Brad King 384dbef61e Merge topic 'normalize-input-paths'
799602b983 cmQtAutoMocUic: Remove now-unnecessary mutex around CollapseFullPath
5ca6234d13 KWSys: Remove path translation map settings for build within CMake
74c497ca65 Merge branch 'upstream-KWSys' into normalize-input-paths
10a381e446 KWSys 2024-11-04 (bef1f021)
73dddffe32 KWSys: Disable the path translation map for build within CMake
b378781c5d cmSystemTools: Cache ToNormalizedPathOnDisk actual-case lookups
622596c6b2 cmSystemTools: Re-implement ToNormalizedPathOnDisk without translation map
5aed3ee49d cmSystemTools: Add GetLogicalWorkingDirectory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9969
2024-11-04 10:09:16 -05:00
Brad King 799602b983 cmQtAutoMocUic: Remove now-unnecessary mutex around CollapseFullPath
KWSys's `CollapseFullPath` no longer maintains global state. The mutual
exclusion added by commit 51676cf655 (Autogen: Split JobEvalCacheT job
into separate moc and uic jobs, 2019-09-12, v3.16.0-rc1~94^2~7) and
commit 53d523f2e1 (autogen: fix race in depfile parsing, 2021-04-15,
v3.20.2~10^2) is no longer needed.
2024-11-04 10:00:17 -05:00
Brad King 5ca6234d13 KWSys: Remove path translation map settings for build within CMake
They no longer exist in KWSys.
2024-11-04 10:00:10 -05:00
Brad King 74c497ca65 Merge branch 'upstream-KWSys' into normalize-input-paths
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-11-04 (bef1f021)
2024-11-04 09:59:56 -05:00
KWSys Upstream 10a381e446 KWSys 2024-11-04 (bef1f021)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit bef1f0214a45fea13b16715918e513abd3636867 (master).

Upstream Shortlog
-----------------

Brad King (2):
      20b2c992 SystemTools: Remove unused global object
      47dce1a3 SystemTools: Remove path translation map
2024-11-04 09:59:55 -05:00
Brad King f21c08ebbf Merge topic 'ctest-crash-handling'
0a4ee422c1 ctest: Restore Windows Error Reporting in interactive mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9855
2024-11-04 09:52:51 -05:00
Brad King 847f74d294 Merge topic 'swift-spaces'
75e4cd8d18 Ninja: Fix escaping of paths with spaces for Swift tooling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9956
2024-11-04 09:40:48 -05:00
Kitware Robot 90f9f480bb CMake Nightly Date Stamp 2024-11-04 00:03:24 -05:00
Brad King 73dddffe32 KWSys: Disable the path translation map for build within CMake
It is about to be removed from KWSys.
2024-11-03 08:32:46 -05:00
Brad King b378781c5d cmSystemTools: Cache ToNormalizedPathOnDisk actual-case lookups
Prior to re-implementing `ToNormalizedPathOnDisk`, its use of KWSys's
`GetActualCaseForPathCached` cached file actual-case lookups to avoid
redundant filesystem access.  Add caching to the actual-case lookups we
do for `cm::PathResolver`.
2024-11-03 08:30:30 -05:00
Brad King 622596c6b2 cmSystemTools: Re-implement ToNormalizedPathOnDisk without translation map
Use `cm::PathResolver`'s `LogicalPath` variant to normalize paths while
preserving symlinks not followed by `..` components.  This avoids
needing the KWSys path translation map to preserve symlinks through
`realpath` operations.  It also works with symlinks on Windows.

Fixes: #16228
2024-11-03 08:26:43 -05:00
Brad King 5aed3ee49d cmSystemTools: Add GetLogicalWorkingDirectory
Track the current working directory with symbolic links preserved.
2024-11-03 08:26:36 -05:00
Brad King f9f4ab55ac Merge topic 'path-resolver'
1a6015e5fc PathResolver: Add helper to compute normalized paths
2a6f86ec5e Tests/CMakeLib: Remove stray output from test loop
646f37b473 clang-tidy: disable modernize-concat-nested-namespaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9965
2024-11-03 08:19:10 -05:00
Brad King f37a5270f2 Merge topic 'update-kwsys'
88ea162db7 Merge branch 'upstream-KWSys' into update-kwsys
f09390fbf1 KWSys 2024-11-01 (1cfc8445)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9966
2024-11-03 08:17:05 -05:00
Kitware Robot 2369e65b59 CMake Nightly Date Stamp 2024-11-03 00:01:59 -04:00
Kitware Robot 08878dcc29 CMake Nightly Date Stamp 2024-11-02 00:01:25 -04:00
KWSys Upstream f09390fbf1 KWSys 2024-11-01 (1cfc8445)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 1cfc8445570dc46883e84301eb6c31ebc5867826 (master).

Upstream Shortlog
-----------------

Brad King (1):
      fdf4f2f8 SystemTools: Fix ReadSymlink for links to absolute paths on Windows
2024-11-01 10:04:53 -04:00
Brad King 88ea162db7 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-11-01 (1cfc8445)
2024-11-01 10:04:53 -04:00
Dylan Snelgrove 0a4ee422c1 ctest: Restore Windows Error Reporting in interactive mode
This behavior was removed when we switched to libuv in CMake 3.11.
After backporting new changes from libuv v2, we can restore the
behavior.

Fixes: #20115
2024-11-01 09:56:54 -04:00
Brad King 9fdf716ee8 Merge topic 'debug-adapter-value-formatting'
41621c3afb Debugger: Add Value Formatting support for StackTrace request

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9940
2024-11-01 09:16:18 -04:00
Brad King 5317d9267a Merge topic 'load-command'
3f55f5264d cmLoadCommandCommand: Port away from cmCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9962
2024-11-01 09:15:05 -04:00
Brad King 60977c2ef2 Merge topic 'ctest-handler-refactoring'
9fe40b33e0 cmCTest*Handler: Use default member initialization
d07a35a336 cmCTest: Remove handler instances
b64e59d571 cmCTestSubmitHandler: Initialize HttpHeaders with command line
81e904bd53 cmCTestScriptHandler: Don't inherit from cmCTestGenericHandler
914a355810 CTest: Remove unneeded code
70dfb24957 cmCTestTestHandler: Consolidate simple options into cmCTestTestOptions
b43d3dcfba cmCTestTestHandler: Consolidate File options into cmCTestTestOptions
f7181175ad cmCTestTestHandler: Consolidate RegExp options into cmCTestTestOptions
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9926
2024-11-01 09:14:11 -04:00
Brad King 7b23e2f884 Merge topic 'find_package-user-dir-not-ignored'
230e5ec172 find_package: Don't test <name>_DIR against ignored paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9961
2024-11-01 09:13:20 -04:00
Brad King a9a7d44a4c Merge topic 'compiler-abi-no-pipe'
ec22cf1a67 CMakeDetermineCompilerABI: Strip -pipe from compile flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9960
2024-11-01 09:12:33 -04:00
Brad King 7ec57887fa Merge branch 'release-3.31' 2024-11-01 09:10:32 -04:00
Brad King b6c4aa9c10 Merge branch 'release-3.30' 2024-11-01 09:10:30 -04:00
Brad King 76f52d6462 Merge branch 'release-3.30' into release-3.31 2024-11-01 09:10:23 -04:00