Commit Graph

59477 Commits

Author SHA1 Message Date
Brad King 09bbae2ee8 Merge branch 'release-3.23' 2022-10-21 10:12:20 -04:00
Brad King ac732136c6 Merge branch 'release-3.25' 2022-10-21 10:06:22 -04:00
Brad King 7c71f9b1e8 Merge topic 'filesystem-path-c++03-abi'
ee9805ccd1 cm/filesystem: Fix crash with pre-C++11 std::string GNU ABI in C++17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7813
2022-10-21 10:06:22 -04:00
Brad King d44340115f Merge topic 'filesystem-path-c++03-abi' into release-3.25
ee9805ccd1 cm/filesystem: Fix crash with pre-C++11 std::string GNU ABI in C++17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7813
2022-10-21 10:06:20 -04:00
Brad King 714440fdf2 Merge branch 'release-3.25' 2022-10-21 10:05:19 -04:00
Brad King 479635bd04 Merge topic 'test-git-protocol-file'
79ce0f434e Tests: Explicitly allow usage of git file-based protocol in test cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7812
2022-10-21 10:05:19 -04:00
Brad King 32c0f964bc Merge topic 'test-git-protocol-file' into release-3.25
79ce0f434e Tests: Explicitly allow usage of git file-based protocol in test cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7812
2022-10-21 10:05:18 -04:00
Kitware Robot a0ccaaa459 CMake Nightly Date Stamp 2022-10-21 00:01:16 -04:00
Brad King 199b3e580d Merge branch 'filesystem-path-c++03-abi' into release-3.23
Merge-request: !7813
2022-10-20 19:03:19 -04:00
Brad King ee9805ccd1 cm/filesystem: Fix crash with pre-C++11 std::string GNU ABI in C++17
The `remove_filename` and `replace_extension` methods compute an offset
between the whole path in a `std::string` and a part of a path in a
`std::string_view`.  This is done by subtracting their `.data()`
pointers.  However, C++17 adds a non-const `.data()` through which
modification of the string is allowed.  This means the copy-on-write
implementation used by the pre-C++11 std::string GNU ABI must reallocate
if the string has been copied.  Our subtraction then computes an offset
between two different allocations, which is undefined behavior.

The workaround in commit b3ca4f9ad1 (cm/filesystem: Work around crash
when compiled for CYGWIN/MSYS runtime, 2021-04-22, v3.21.0-rc1~271^2~2)
avoided the problem by calling the non-const `.data()` to reallocate
before constructing the `string_view`.  Instead, explicitly call the
const `.data()` method on the string, which does not reallocate.

Fixes: #22090, #23328
2022-10-20 18:31:50 -04:00
Brad King 79ce0f434e Tests: Explicitly allow usage of git file-based protocol in test cases
Due to CVE-2022-39253, Git 2.30.6 sets `protocol.file.allow=user` by
default.  The change has also been backported to other Git versions by
distros.  This breaks some of our test cases that use the file-based
protocol locally to simulate real workflows without requiring network
access.  In these cases the file protocol is safe, so explicitly enable
it in the tests.
2022-10-20 13:45:01 -04:00
Brad King 914e5594ea Merge topic 'clang-tidy-module-cmstrlen-check'
b4e8ddbc2f clang-tidy: enable cmStrLen() check and fix violations
43481a77f9 clang-tidy module: add test for cmStrLen() check
43a88b56af clang-tidy module: add check for cmStrLen()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7809
2022-10-20 10:04:27 -04:00
Kitware Robot feb71b5456 CMake Nightly Date Stamp 2022-10-20 00:01:17 -04:00
Kyle Edwards b4e8ddbc2f clang-tidy: enable cmStrLen() check and fix violations 2022-10-19 14:51:21 -04:00
Sean Orner 43481a77f9 clang-tidy module: add test for cmStrLen() check 2022-10-19 13:52:58 -04:00
Kyle Edwards 43a88b56af clang-tidy module: add check for cmStrLen()
Co-Authored-by: Joe Blaauboer <jblaauboer67@gmail.com>
2022-10-19 13:51:11 -04:00
Brad King 76ab7db5a1 Merge branch 'release-3.25' 2022-10-19 12:01:42 -04:00
Brad King 7d710abc87 CMake 3.25.0-rc2 v3.25.0-rc2 2022-10-19 11:22:54 -04:00
Brad King 525f3e7490 Merge branch 'release-3.25' 2022-10-19 10:04:30 -04:00
Brad King 1cbf176b97 Merge topic 'cmake-presets-output-junit'
bea4ed5430 CTest: Add support for outputJUnitFile in presets
9270a02003 CMakePresets.json: Add outputJUnitFile to test presets schema
757786bb73 Tests: Add test for outputLogFile in CMakePresets.json
b68c3596e7 CMakePresets.json: Disallow extra properties in test output schema

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !7806
2022-10-19 10:04:30 -04:00
Brad King 6fa189f716 Merge topic 'cmake-presets-output-junit' into release-3.25
bea4ed5430 CTest: Add support for outputJUnitFile in presets
9270a02003 CMakePresets.json: Add outputJUnitFile to test presets schema
757786bb73 Tests: Add test for outputLogFile in CMakePresets.json
b68c3596e7 CMakePresets.json: Disallow extra properties in test output schema

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !7806
2022-10-19 10:04:29 -04:00
Brad King c1f8d29f9e Merge branch 'release-3.25' 2022-10-19 10:00:00 -04:00
Brad King 6353f9b6d1 Merge topic 'mingw-unc'
9777e4c30e MinGW Makefiles: Quote UNC paths on command lines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7802
2022-10-19 10:00:00 -04:00
Brad King 86ed35cf63 Merge topic 'mingw-unc' into release-3.25
9777e4c30e MinGW Makefiles: Quote UNC paths on command lines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7802
2022-10-19 09:59:59 -04:00
Brad King f327abb816 Merge branch 'release-3.25' 2022-10-19 09:58:25 -04:00
Brad King efd2249e15 Merge branch 'release-3.24' 2022-10-19 09:58:23 -04:00
Brad King f3ac861352 Merge branch 'release-3.23' 2022-10-19 09:58:22 -04:00
Brad King 9ece08666d Merge branch 'release-3.24' into release-3.25 2022-10-19 09:58:14 -04:00
Brad King 589aa44952 Merge branch 'release-3.23' into release-3.24 2022-10-19 09:58:01 -04:00
Brad King 18ed2ed1c5 Merge branch 'release-3.25' 2022-10-19 09:57:09 -04:00
Brad King 188305800e Merge topic 'try_compile-CMP0128'
50e90e2828 try_compile: Honor CMP0128 setting in test project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7803
2022-10-19 09:57:09 -04:00
Brad King 177c56e3fa Merge topic 'try_compile-CMP0128' into release-3.25
50e90e2828 try_compile: Honor CMP0128 setting in test project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7803
2022-10-19 09:57:08 -04:00
Brad King 1407d29618 Merge branch 'release-3.25' 2022-10-19 09:56:01 -04:00
Brad King a6eec22923 Merge topic 'android-path-suffixes'
7e5b48a7b1 Android: Avoid searching API level directories matching architecture bitness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7805
2022-10-19 09:56:01 -04:00
Brad King 077e42fe76 Merge topic 'android-path-suffixes' into release-3.25
7e5b48a7b1 Android: Avoid searching API level directories matching architecture bitness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7805
2022-10-19 09:55:59 -04:00
Kitware Robot 8c7ac278cd CMake Nightly Date Stamp 2022-10-19 00:01:17 -04:00
Kyle Edwards bea4ed5430 CTest: Add support for outputJUnitFile in presets
Fixes: #22400
2022-10-18 16:52:23 -04:00
Kyle Edwards 9270a02003 CMakePresets.json: Add outputJUnitFile to test presets schema 2022-10-18 15:41:29 -04:00
Brad King f4995637a7 Merge branch 'release-3.25' 2022-10-18 15:32:27 -04:00
Brad King f668272d10 Merge topic 'doc-flag-init'
e0075799ed Help: Clarify how language-specific flag environment values are used

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7804
2022-10-18 15:32:27 -04:00
Brad King 20587e5af9 Merge topic 'doc-flag-init' into release-3.25
e0075799ed Help: Clarify how language-specific flag environment values are used

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7804
2022-10-18 15:32:26 -04:00
Kyle Edwards 757786bb73 Tests: Add test for outputLogFile in CMakePresets.json 2022-10-18 15:20:44 -04:00
Kyle Edwards b68c3596e7 CMakePresets.json: Disallow extra properties in test output schema
And add test for testOutputTruncation being unsupported.
2022-10-18 14:40:11 -04:00
Ed Hartley 9777e4c30e MinGW Makefiles: Quote UNC paths on command lines
UNC paths (starting with `\\`) need quotes when generating MinGW
Makefiles to avoid gmake interpreting the first `\` as an escape
character.

Fixes: #24061
2022-10-18 14:30:57 -04:00
Brad King 588c9c4145 Merge branch 'try_compile-CMP0128' into release-3.24
Merge-request: !7803
2022-10-18 14:25:52 -04:00
Brad King 96172ba2d1 Merge branch 'try_compile-CMP0128' into release-3.23
Merge-request: !7803
2022-10-18 14:25:26 -04:00
Brad King 263d733a58 Merge branch 'android-path-suffixes' into release-3.24
Merge-request: !7805
2022-10-18 14:22:17 -04:00
Sergiu Deitsch 7e5b48a7b1 Android: Avoid searching API level directories matching architecture bitness
When cross-compiling for Android, the library path suffixes `/<number>/`
refer to API level specific platform libraries instead of architecture
bitness. Disable path suffix use under NDK to avoid incorrect inclusion
of API level specific libraries below the targeted API level.

Fixes: #23830
2022-10-18 14:21:51 -04:00
Brad King e0075799ed Help: Clarify how language-specific flag environment values are used
Previous the wording could be interpreted to mean that the environment
variables like `CXXFLAGS` are used exclusively to initialize the
corresponding cache entries like `CMAKE_CXX_FLAGS`.  State clearly
that the value will be used in combination with builtin defaults.

Issue: #23956
2022-10-18 14:10:41 -04:00
Brad King 9c6e9a5e15 Merge branch 'release-3.25' 2022-10-18 13:52:15 -04:00