summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CPack: Require no argument for --trace and --trace-expandKyle Edwards2022-10-251-2/+2
| | | | | | | | This was accidentally broken by commit 87c762d435 (CPack: Use cmCommandLineArgument instead of cmsys::CommandLineArguments, 2022-04-18, v3.24.0-rc1~258^2). Fixes: #24085
* Merge branch 'release-3.23' into release-3.24Brad King2022-10-210-0/+0
|\
| * Merge branch 'filesystem-path-c++03-abi' into release-3.23Brad King2022-10-203-13/+18
| |\ | | | | | | | | | Merge-request: !7813
* | \ Merge branch 'filesystem-path-c++03-abi' into release-3.24Brad King2022-10-203-13/+18
|\ \ \ | | |/ | |/| | | | Merge-request: !7813
| * | cm/filesystem: Fix crash with pre-C++11 std::string GNU ABI in C++17Brad King2022-10-203-13/+18
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge branch 'test-git-protocol-file' into release-3.24Brad King2022-10-201-0/+2
|\ \ | | | | | | | | | Merge-request: !7812
| * | Tests: Explicitly allow usage of git file-based protocol in test casesBrad King2022-10-201-0/+2
|/ / | | | | | | | | | | | | | | | | 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.
* | Merge branch 'release-3.23' into release-3.24Brad King2022-10-190-0/+0
|\ \ | |/
| * Merge branch 'try_compile-CMP0128' into release-3.23Brad King2022-10-186-0/+72
| |\ | | | | | | | | | Merge-request: !7803
* | \ Merge branch 'try_compile-CMP0128' into release-3.24Brad King2022-10-186-0/+72
|\ \ \ | | |/ | |/| | | | Merge-request: !7803
| * | try_compile: Honor CMP0128 setting in test projectBrad King2022-10-186-0/+72
| |/ | | | | | | | | | | | | | | | | 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
* | Merge branch 'android-path-suffixes' into release-3.24Brad King2022-10-181-0/+6
|\ \ | | | | | | | | | Merge-request: !7805
| * | Android: Avoid searching API level directories matching architecture bitnessSergiu Deitsch2022-10-181-0/+6
|/ / | | | | | | | | | | | | | | | | 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
* | Merge branch 'FindJNI-android-api' into release-3.24Brad King2022-10-171-2/+2
|\ \ | | | | | | | | | Merge-request: !7801
| * | FindJNI: replace CMAKE_ANDROID_API by CMAKE_SYSTEM_VERSIONSergiu Deitsch2022-10-171-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 00c4f488f2 (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
* | Merge branch 'release-3.23' into release-3.24Brad King2022-10-170-0/+0
|\ \ | |/
| * Merge branch 'doc-timestamp-f' into release-3.23Brad King2022-10-141-0/+2
| |\ | | | | | | | | | Merge-request: !7796
* | \ Merge branch 'doc-timestamp-f' into release-3.24Brad King2022-10-141-0/+2
|\ \ \ | | |/ | |/| | | | Merge-request: !7796
| * | Help: Add versionadded for string(TIMESTAMP) %f specifierBrad King2022-10-141-0/+2
| |/ | | | | | | | | This was accidentally left out of commit c050d6a01e (string(TIMESTAMP): add %f specifier for microseconds, 2022-01-27, v3.23.0-rc1~59^2).
* | Merge branch 'flang-implicit-link-info' into release-3.24Brad King2022-10-116-2/+50
|\ \ | | | | | | | | | Merge-request: !7781
| * | LLVMFlang: Add support for mixed-language linking with FortranBrad King2022-10-116-2/+50
|/ / | | | | | | | | | | | | | | | | Parse implicit link information for this compiler to support mixed-language linking. This was missed by commit 85749766df (LLVMFlang: Add support for LLVM Flang, 2021-07-07, v3.24.0-rc1~86^2). Also activate mixed-language test cases that would have caught this. Issue: #22387
* | Merge branch 'release-3.23' into release-3.24Brad King2022-10-110-0/+0
|\ \ | |/
| * Merge branch 'cpack-nsis-uninstaller' into release-3.23Brad King2022-10-101-5/+14
| |\ | | | | | | | | | Merge-request: !7774
* | \ Merge branch 'cpack-nsis-uninstaller' into release-3.24Brad King2022-10-111-5/+14
|\ \ \ | | |/ | |/| | | | Merge-request: !7774
| * | CPack/NSIS: Fix installer not waiting for uninstaller to finishMika Fischer2022-10-101-5/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit b795c96727 (CPack/NSIS: Fix uninstall command when run from installer, 2022-03-21, v3.23.0-rc5~9^2~1) we incorrectly removed the `_?` parameter when calling the uninstaller during installation. This parameter is however essential for ExecWait to actually wait for the uninstaller to finish. Without it, the uninstaller is started in the background and installer and uninstaller run at the same time. See https://nsis.sourceforge.io/Docs/Chapter3.html#installerusageuninstaller Add back the `_?` parameter to fix this regression. Use another approach to solve the problem motivating the original change. Fixes: #24041
* | Merge topic 'add_cuda_11.8_new_archs' into release-3.24Brad King2022-10-101-0/+6
|\ \ | | | | | | | | | | | | | | | | | | 7f4cbf6594 CUDA: Add support for the two new architectures in 11.8 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7761
| * | CUDA: Add support for the two new architectures in 11.8Robert Maynard2022-10-071-0/+6
| | | | | | | | | | | | CUDA 11.8 introduces ada ( 89 ), and hopper ( 90 ).
* | | Merge topic 'Intel-Fortran-warn-errors' into release-3.24Brad King2022-10-105-11/+29
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 13f3382b1c Intel/IntelLLVM: Fortran has distinct "-Werror"-like flag ab8a0a106e COMPILE_WARNING_AS_ERROR: Fix internal formatting of options table Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7758
| * | Intel/IntelLLVM: Fortran has distinct "-Werror"-like flagMichael Hirsch2022-10-072-6/+20
| | | | | | | | | | | | | | | | | | | | | Update the compiler options table added by commit 76a08cd253 (COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errors, 2022-04-21, v3.24.0-rc1~173^2) to use the Intel Fortran compilers' dedicated `-warn*` flags.
| * | COMPILE_WARNING_AS_ERROR: Fix internal formatting of options tableBrad King2022-10-073-5/+9
|/ / | | | | | | | | | | | | | | In commit 76a08cd253 (COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errors, 2022-04-21, v3.24.0-rc1~173^2) we formatted the options table entries as command-line string fragments. Since they are part of the `CMAKE_${lang}_COMPILE_OPTIONS_*` tables, they should be formatted as `;`-separated lists of compiler options.
* | Merge topic 'ifw-4.4' into release-3.24Brad King2022-10-061-0/+1
|\ \ | | | | | | | | | | | | | | | | | | e848ce21c9 CPack/IFW: Add support for QtIFW 4.4 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7750
| * | CPack/IFW: Add support for QtIFW 4.4Erlend E. Aasland2022-10-051-0/+1
|/ / | | | | | | Fixes: #24027
* | Merge branch 'release-3.23' into release-3.24Brad King2022-10-041-3/+3
|\ \ | |/
| * CMake 3.23.4v3.23.4Brad King2022-10-042-4/+4
| |
* | Merge topic 'ci-xcode-14.0' into release-3.24Brad King2022-10-037-37/+66
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 9cdf4c9be4 gitlab-ci: update macOS jobs to use Xcode 14.0 5d2c2b2558 Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0 12c6fec6b4 Xcode: Drop CMAKE_INTDIR= definition in Swift targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7732
| * | gitlab-ci: update macOS jobs to use Xcode 14.0Brad King2022-09-301-6/+6
| | |
| * | Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0Brad King2022-09-305-29/+53
| | | | | | | | | | | | Issue: #24011
| * | Xcode: Drop CMAKE_INTDIR= definition in Swift targetsBrad King2022-09-301-2/+7
|/ / | | | | | | | | Xcode 14.0 warns that Swift doesn't support definition values. Therefore `CMAKE_INTDIR` is not useful to Swift sources. Drop it.
* | Merge topic 'ctest_ninja_full_output' into release-3.24Brad King2022-09-277-11/+68
|\ \ | | | | | | | | | | | | | | | | | | | | | 65260d6c1e ctest: only report make-level errors when no others are found Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7710
| * | ctest: only report make-level errors when no others are foundZack Galbreath2022-09-267-11/+68
|/ / | | | | | | | | | | | | | | | | | | | | | | | | In commit ab9ad2a6a0 (ctest: report make-level errors to CDash when using launchers, 2020-09-24, v3.19.0-rc1~84^2~1) we taught CTest to capture and report errors from the build command when using launchers. This had the unintended side effect of reporting a separate build error containing the full build output when the build command returns non-zero. To fix this problem, we now only report build command errors from CTest launchers when no other more specific build errors are found. Fixes: #23991
* | Merge topic 'flang-windows' into release-3.24Brad King2022-09-231-0/+2
|\ \ | | | | | | | | | | | | | | | | | | d34e5a98b8 LLVMFlang: Add support for Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7692
| * | LLVMFlang: Add support for Windowsمهدي شينون (Mehdi Chinoune)2022-09-211-0/+2
| | |
* | | Merge branch 'release-3.23' into release-3.24Brad King2022-09-210-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'parse-large-int' into release-3.23Brad King2022-09-204-2/+85
| |\ \ | | | | | | | | | | | | Merge-request: !7698
* | \ \ Merge topic 'parse-large-int' into release-3.24Brad King2022-09-214-2/+85
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | | | | | | | | | | | | | 8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux 31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7698
| * | file: Avoid strange istringstream crash in cmake.org binaries on Alpine LinuxBrad King2022-09-201-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Somehow using `istringstream` and `operator >>` to parse an integer crashes on Alpine Linux, at least when compiled with the settings we use for the official `cmake.org` Linux binaries. Since commit fd0c285b12 (file: Fix types of the OFFSET and LIMIT arguments, 2022-01-04, v3.23.0-rc1~133^2), this causes the `file(READ)` command to crash when parsing its `LIMIT` or `OFFSET` argument. Parse the input string with our dedicated helper to avoid the crash. Fixes: #23872
| * | cmStringAlgorithms: Add functions to parse strings to long long integersBrad King2022-09-203-0/+77
| |/
* | Merge topic 'matlab-r2022b' into release-3.24Brad King2022-09-191-0/+1
|\ \ | | | | | | | | | | | | | | | | | | edbdfba3f5 FindMatlab: add R2022b 9.13 version map Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7683
| * | FindMatlab: add R2022b 9.13 version mapMichael Hirsch2022-09-161-0/+1
|/ /
* | Merge topic 'FindMatlab-macos-arm64' into release-3.24Brad King2022-09-151-1/+5
|\ \ | | | | | | | | | | | | | | | | | | f0edac914a FindMatlab: Add MEX binary file suffix for Apple Silicon native Matlab Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7673