- Nov 01, 2022
-
-
Brad King authored
- Oct 27, 2022
- Oct 26, 2022
-
-
Brad King authored
Issue: #24089
-
Brad King authored
Since commit f85913fa (VS: Add support for enumerating VS instances with vswhere, 2022-04-11, v3.24.0-rc1~282^2), if the COM lookup does not report any VS instances, we fall back to finding vswhere. However, the `getenv` call returns nullptr if the `ProgramFiles(x86)` environment variable is not set. Update the logic to tolerate not-set environment variables. Also check the plain `ProgramFiles` environment variable. Fixes: #24090
-
- Oct 25, 2022
- Oct 24, 2022
- Oct 21, 2022
-
-
Brad King authored
-
- Oct 20, 2022
-
-
Brad King authored
Merge-request: !7813
-
Brad King authored
Merge-request: !7813
-
Brad King authored
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 b3ca4f9a (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
-
Brad King authored
Merge-request: !7812
-
Brad King authored
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.
-
- Oct 19, 2022
-
-
Brad King authored
-
- Oct 18, 2022
-
-
Brad King authored
Merge-request: !7803
-
Brad King authored
Merge-request: !7803
-
Brad King authored
Merge-request: !7805
-
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
-
Brad King authored
Some projects pass a raw `-std=` flag to the compiler in the `try_compile` project. If they do not set CMP0128 to NEW, we should not append a `-std=` flag where we did not before the policy was added. Fixes: #24063
-
- Oct 17, 2022
-
-
Brad King authored
Merge-request: !7801
-
In commit 00c4f488 (FindJNI: support Android NDK, 2022-03-18, v3.24.0-rc1~325^2) we used `CMAKE_ANDROID_API` to check the Android API level. However, `CMAKE_SYSTEM_VERSION` is the authoritative value. When cross-compiling for Android, an unset `CMAKE_ANDROID_API` can result in failure to locate JNI because the `NativeHelper` component cannot be found. In this case, the component is falsely assumed to be available by default (and thus required) since the comparison against an unset `CMAKE_ANDROID_API` variable evaluates to true. Use `CMAKE_SYSTEM_VERSION` to determine the Android API level instead. Issue: #23830
-
Brad King authored
-
- Oct 14, 2022
- Oct 11, 2022