summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cmake-presets-no-binary-dir-no-s' into release-3.21Brad King2021-07-194-4/+24
|\ | | | | | | | | | | | | aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6358
| * CMakePresets.json: Fix expansion issue with empty binaryDirKyle Edwards2021-07-164-4/+24
| | | | | | | | | | | | | | | | When resolving binaryDir into a full path from a relative path, we forgot to check if binaryDir is altogether empty, causing empty binaryDir's to resolve to the source directory. Fix this. Fixes: #22434
* | Merge topic 'enable_language-CMP0126' into release-3.21Brad King2021-07-1910-0/+31
|\ \ | | | | | | | | | | | | | | | | | | 3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6355
| * | enable_language: Fix test for working compiler with CMP0126 NEW behaviorBrad King2021-07-1510-0/+31
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Update the logic that converts a `try_compile` result from a cache entry to a normal variable to tolerate an existing normal variable under CMP0126 NEW behavior. Otherwise the `try_compile` result is ignored because CMake uses the false value of the normal variable, and CMake incorrectly reports that the compiler does not work. This went unnoticed for some languages (e.g. C and CXX) because the check for a working compiler is skipped if ABI detection works. It does affect other languages (e.g. CSharp). Fixes: #22423
* | Merge topic 'libuv-mingw-arm' into release-3.21Brad King2021-07-191-2/+6
|\ \ | | | | | | | | | | | | | | | | | | 1aba3a8367 libuv: Fix building with mingw toolchains for ARM/AArch64 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6354
| * | libuv: Fix building with mingw toolchains for ARM/AArch64Martin Storsjö2021-07-151-2/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of f9ad802fa5dd5afe6730f8e00cfdbf98f1d7a969 from the v1.x branch from upstream libuv: mingw: fix building for ARM/AArch64 Don't use x86 inline assembly in these cases, but fall back to __sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case. This corresponds to what is done in src/unix/atomic-ops.h, where ARM/AArch64 cases end up implementing cmpxchgi with __sync_val_compare_and_swap. PR-URL: https://github.com/libuv/libuv/pull/3236 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
* | Merge topic 'TestDriver-time.h-lint' into release-3.21Brad King2021-07-191-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 0bb3d457cb TestDriver: use `CM_NULL` to avoid lints about `nullptr` usage 32ff836e2a TestDriver: suppress deprecated header lints for time.h Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6352
| * | TestDriver: use `CM_NULL` to avoid lints about `nullptr` usageBen Boeckel2021-07-141-1/+1
| | |
| * | TestDriver: suppress deprecated header lints for time.hBen Boeckel2021-07-141-1/+1
| | | | | | | | | | | | Similar to the other includes, this one should be suppressed as well.
* | | Merge topic 'Help-ctest_memcheck-shared-args' into release-3.21Brad King2021-07-192-0/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 85e740312f Help/ctest_test: add a comment to also update `ctest_memcheck` 731cfd45fd Help/ctest_memcheck: mention `ctest_test` arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6351
| * | | Help/ctest_test: add a comment to also update `ctest_memcheck`Ben Boeckel2021-07-191-0/+4
| | | | | | | | | | | | | | | | | | | | Since these commands share a common argument parser, the documentation should be kept synchronized.
| * | | Help/ctest_memcheck: mention `ctest_test` argumentsBen Boeckel2021-07-141-0/+5
| |/ / | | | | | | | | | | | | These are handled internally by inheriting `ctest_test`'s argument bindings. Synchronize the documentation.
* | | Merge topic 'vs2022' into release-3.21Brad King2021-07-199-13/+3505
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2 1ac1436b25 VS: Fix `/sourceDependencies` flag table entries for v143 919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143 3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143 ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143 c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143 993d706a17 VS: Populate `/JMC-` flag table entry for v143 a070d87e08 VS: Populate `-Qspectre-` flag table entry for v143 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Egor Pugin <egor.pugin@gmail.com> Merge-request: !6350
| * | VS: Update Visual Studio 17 2022 generator for Preview 2Brad King2021-07-154-7/+15
| | | | | | | | | | | | | | | | | | In particular, update to toolset `v143`. Fixes: #22339
| * | VS: Fix `/sourceDependencies` flag table entries for v143Brad King2021-07-151-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the `/sourceDependencies[:directives]` table entries to properly distinguish the two options (because one is a prefix of the other), and to populate both `Generate*Dependencies` and `*DependenciesFile`. This is the manual update mentioned in commit 887e9df0c7 (VS: Update v142 CL flag table for VS 16.10, 2021-06-04, v3.21.0-rc1~77^2).
| * | VS: Remove broken EnableASAN entry from flag table for v143Brad King2021-07-151-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 7fce2d372e (VS: Revert "Add support for ASAN -fsanitize=address flag", 2021-04-26, v3.21.0-rc1~270^2) to the v143 flag table. Issue: #21081
| * | VS: Remove empty ExternalWarningLevel entry from flag table for v143Brad King2021-07-151-7/+0
| | |
| * | VS: Remove empty LanguageStandard entries from flag table for v143Brad King2021-07-151-14/+0
| | |
| * | VS: Remove empty ConformanceMode entry from flag table for v143Brad King2021-07-151-7/+0
| | |
| * | VS: Populate `/JMC-` flag table entry for v143Brad King2021-07-151-0/+7
| | | | | | | | | | | | | | | Apply the change from commit 049410c0b6 (VS: Populate `/JMC-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~6) to the v143 flag table.
| * | VS: Populate `-Qspectre-` flag table entry for v143Brad King2021-07-151-9/+9
| | | | | | | | | | | | | | | | | | | | | Apply the change from commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7) to the v143 flag table. Sort the longer options before the shorter ones. Remove the default variant with an empty switch.
| * | VS: Populate `/Y-` flag table entry for v143Brad King2021-07-151-1/+1
| | | | | | | | | | | | | | | Apply the change from commit 460a146e2b (VS: Populate `/Y-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~8) to the v143 flag table.
| * | VS: Add `-Zc:inline[-]` flag table entry for v143Brad King2021-07-151-0/+7
| | | | | | | | | | | | | | | | | | Apply the change from commit 0df3790371 (VS: Add `-Zc:inline[-]` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~9) to the v143 flag table.
| * | VS: Fix `/analyze:log` flag mapping for v143Brad King2021-07-151-14/+4
| | | | | | | | | | | | | | | | | | Apply the change from commit fb2e418c64 (VS: Fix `/analyze:log` flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~10) to the v143 flag table.
| * | VS: Remove the /MERGE flag from v143 link flag tableBrad King2021-07-151-9/+0
| | | | | | | | | | | | | | | Apply the change from commit a9f992434d (VS: Remove the /MERGE flag from FlagTables, 2021-06-08, v3.21.0-rc1~58^2) to the v143 flag table.
| * | VS: Map the link `/debug` flag for v143Brad King2021-07-151-10/+18
| | | | | | | | | | | | | | | Apply the changes from commit 533f95c847 (VS: Map the link `/debug` flag for v142, 2019-01-24, v3.14.0-rc1~74^2~3) to the v143 flag table.
| * | VS: Fix `/MANIFESTUAC:` link flag mapping for v143Brad King2021-07-151-25/+4
| | | | | | | | | | | | | | | | | | | | | Apply the changes from commit d2fcc6748a (VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~4) and commit fd45cbf40e (VS: Fix `/MANIFESTUAC:` link flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~1) to the v143 flag table.
| * | VS: Add v143 flag tables for VS 17.0 Preview 2Brad King2021-07-152-0/+2982
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run the commands python3 Source/cmConvertMSBuildXMLToJSON.py -t v143 \ 'c:/.../2022/Preview/MSBuild/Microsoft/VC/v170/1033/cl.xml' python3 Source/cmConvertMSBuildXMLToJSON.py -t v143 \ 'c:/.../2022/Preview/MSBuild/Microsoft/VC/v170/1033/link.xml' To generate `Templates/MSBuild/FlagTables/v143_{CL,Link}.json`. We can re-use `Templates/MSBuild/FlagTables/v14_LIB.json`.
| * | VS: Add CSharp VS 2022 compiler version and flag table v143Brad King2021-07-152-0/+557
| | | | | | | | | | | | | | | | | | While the flag tables for C and C++ were generated from MSBuild `.xml` files, the CSharp flag tables were written by hand. Copy the `v142` flag table to use for the `v143` toolset.
| * | VS: Improve v142 CL flag table LanguageStandard orderingBrad King2021-07-151-6/+6
| | |
| * | VS: Recognize CSharp VS 2019 compiler version v142Brad King2021-07-151-0/+4
|/ /
* | Merge topic 'ci-use-3.21.0' into release-3.21Brad King2021-07-152-6/+6
|\ \ | |/ |/| | | | | | | | | 79e139e3d3 ci: use CMake 3.21.0 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6349
| * ci: use CMake 3.21.0Ben Boeckel2021-07-142-6/+6
|/
* CMake 3.21.0v3.21.0Brad King2021-07-141-1/+1
|
* Merge topic 'armlink_armar_detection' into release-3.21Brad King2021-07-142-11/+9
|\ | | | | | | | | | | | | 509ef50a06 ARMClang: Fix regression in check for working compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6346
| * ARMClang: Fix regression in check for working compilerLingkai Dong2021-07-142-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the compiler to use, `CMakeFindBinUtils.cmake` automatically determines a number of tools including linker (CMAKE_LINKER) and archiver (CMAKE_AR) and stores them in a generated file `CMakeCCompiler.cmake` as non-CACHE entries. The compiler-specific ARMClang.cmake then tries to override CMAKE_LINKER and CMAKE_AR as CACHE entries. Following the introduction of CMP0126, which is set to NEW in the test for a working compiler, setting a CACHE entry does not replace a normal entry of the same name anymore, resulting in a failed test due to wrong linker and archiver. To fix this, set CMAKE_LINKER and CMAKE_AR for ARMClang directly in `CMakeFindBinUtils.cmake` as is done for other compilers. Check for them in `ARMClang.cmake` to safeguard cases when a project explicitly includes `ARMClang.cmake` prior to compiler determination (which some projects do to work around other problems in older CMake versions).
* | Merge topic 'doc-cmake-build-signature' into release-3.21Brad King2021-07-1416-16/+20
|\ \ | |/ |/| | | | | | | | | 161f1f42d6 Help: Clarify 'cmake --build' signature alternatives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6343
| * Help: Clarify 'cmake --build' signature alternativesBrad King2021-07-1316-16/+20
|/ | | | | | | | | | | | | | | | Documentation added by * commit 4f4f2028b8 (Help: Add documentation for buildPresets and testPresets, 2021-01-13, v3.20.0-rc1~51^2~7) * commit 676ecf0d37 (cmake-presets: Add build and test presets, 2020-12-14, v3.20.0-rc1~51^2~6) used square brackets in the `cmake --build` signature to indicate non-optional alternatives, which is not a typical convention. A common convention is to use parentheses instead, but in this case it is probably clearer to list the two signatures separately. Fixes: #22413
* Merge topic 'file-grd-arch' into release-3.21Brad King2021-07-135-6/+66
|\ | | | | | | | | | | | | b2c03347b0 file(GET_RUNTIME_DEPENDENCIES): Check architecture of dependencies Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6339
| * file(GET_RUNTIME_DEPENDENCIES): Check architecture of dependenciesKyle Edwards2021-07-125-6/+66
| | | | | | | | Fixes: #22106
* | Merge topic 'doc-preset-example-v3' into release-3.21Brad King2021-07-131-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 2114d717a0 Help: Fix preset example cmakeMinimumRequired Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Kyle Edwards <kyle.edwards@kitware.com> Merge-request: !6333
| * | Help: Fix preset example cmakeMinimumRequiredSérgio Martins2021-07-121-1/+1
| |/ | | | | | | | | | | | | | | Since commit 8bc5c8961e (CMakePresets.json: Add the ability to conditionally disable presets, 2021-03-10, v3.21.0-rc1~464^2) the example requires presets version 3 support, which is not available until CMake 3.21. CMake 3.20.0 can't open v3 presets. Make cmakeMinimumRequired compatible with the example's version.
* | Merge topic 'cpack-deb-post-ops' into release-3.21Brad King2021-07-131-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 805fa791d1 CPack/DEB: Avoid overriding user-provided `postinst` and `postrm` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6335
| * | CPack/DEB: Avoid overriding user-provided `postinst` and `postrm`Alex Turbov2021-07-121-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | When a user provides `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` or `CPACK_DEBIAN_<comp>_PACKAGE_CONTROL_EXTRA` variables in `CMakeLists.txt` and the package contains dynamic libraries, the `CPackDeb.cmake` sets `CPACK_ADD_LDCONFIG_CALL` to `1`. Later it analyzes if defaulted `postinst`/`postrm` should be generated trying to check if the user provides any in `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` variable. However, the `foreach` loop uses the invalid variable `PACKAGE_CONTROL_EXTRA` instead, so these files gonna be overridden. Fix the variable name. Fixes: #22410
* | Merge topic 'FindBLAS-LAPACK-All' into release-3.21Brad King2021-07-137-14/+40
|\ \ | |/ |/| | | | | | | | | | | 31ac4b9165 ci: Verify that Intel MKL is found when it is the only BLAS/LAPACK 57dcde19da Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requested Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6336
| * ci: Verify that Intel MKL is found when it is the only BLAS/LAPACKBrad King2021-07-125-10/+36
| | | | | | | | Issue: #22403
| * Find{BLAS,LAPACK}: Avoid clobbering results when no vendor is requestedBrad King2021-07-122-4/+4
|/ | | | | | | | | | | | Logic added by commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library, 2021-01-27, v3.21.0-rc1~402^2~1) accidentally expressed a boolean condition without proper grouping. The pattern was then copied by commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK library, 2021-05-05, v3.21.0-rc1~192^2). The resulting logic incorrectly tries Fujitsu and NVHPC vendors even after results are found from another vendor, and then erases those. Fix the grouping. Fixes: #22403
* Merge branch 'release-3.20' into release-3.21Brad King2021-07-120-0/+0
|\
| * Merge branch 'backport-3.20-intel-oneapi-std-windows' into release-3.20Brad King2021-07-092-3/+15
| |\ | | | | | | | | | Merge-request: !6328
| * \ Merge branch 'FindJPEG-revert-turbo' into release-3.20Brad King2021-07-091-1/+1
| |\ \ | | | | | | | | | | | | Merge-request: !6326