summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | \ \ Merge topic 'intel-oneapi-std-windows' into release-3.21Brad King2021-07-121-0/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a82af0e2ce Merge branch 'backport-3.20-intel-oneapi-std-windows' 1c227583a4 Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC mode 1c14691a86 CMakeCCompilerId: Fix C standard detection in Clang and IntelLLVM MSVC mode 6eea123e3a Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC mode Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6328
| * \ \ \ Merge branch 'backport-3.20-intel-oneapi-std-windows'Brad King2021-07-090-0/+0
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC modeBrad King2021-07-091-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5115dd1e2c (IntelLLVM: Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~7^2^2) we activate C/C++ standard level logic for IntelLLVM when targeting the MSVC ABI. Update the `RunCMake.try_compile` test to be aware of this even when CMake is itself configured by an older CMake that does not know this.
| | * | | CMakeCCompilerId: Fix C standard detection in Clang and IntelLLVM MSVC modeRaul Tambre2021-07-091-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang does not define `__STDC__` if in MSVC compatibility mode, but does define `__STDC_VERSION__`. Avoid the fallback for this combination. This backports commit 7596d8b951 (CMakeCCompilerId: Fix C standard detection in Clang MSVC mode, 2021-02-07, v3.21.0-rc1~587^2~14) to the 3.20 release series. This is needed since commit 5115dd1e2c (IntelLLVM: Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~7^2^2) now that we activate C/C++ standard level logic for IntelLLVM when targeting the MSVC ABI.
| * | | | Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC modeBrad King2021-07-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 84036d30d4 (IntelLLVM: Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~8^2~1) we activate C/C++ standard level logic for IntelLLVM when targeting the MSVC ABI. Update the `RunCMake.try_compile` test to be aware of this even when CMake is itself configured by an older CMake that does not know this.
* | | | | Merge topic 'FindJPEG-revert-turbo' into release-3.21Brad King2021-07-121-1/+1
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | 0de1f1503b FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6326
| * | | FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too"Brad King2021-07-091-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Revert commit 74cc2e3326 (FindJPEG: Search for 'turbojpeg' and 'turbojpeg-static' too, 2021-01-09, v3.20.0-rc1~176^2) pending further investigation. The "turbo" variants are not drop-in replacements on all platforms. Fixes: #22333
* | | CMake 3.21.0-rc3v3.21.0-rc3Brad King2021-07-081-1/+1
| | |
* | | Merge topic 'help_toplevel' into release-3.21Brad King2021-07-082-0/+20
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 2df4badc5f Help: Note PROJECT_IS_TOP_LEVEL behavior w.r.t. ExternalProject Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6307
| * | | Help: Note PROJECT_IS_TOP_LEVEL behavior w.r.t. ExternalProjectMichael Hirsch2021-07-082-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the documentation added by commit 96a7040107 (project: Define variables indicating whether project is top level, 2021-03-24, v3.21.0-rc1~443^2) to give some examples of how the variables are set in each context.
* | | | Merge topic 'doc-lang-std' into release-3.21Brad King2021-07-083-3/+54
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d69b46bf01 Help: Document when CUDA_STANDARD values were added bdb59839b9 Help: Document when OBJCXX_STANDARD values were added 627aca946b Help: Document when OBJC_STANDARD values as definition list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6321
| * | | | Help: Document when CUDA_STANDARD values were addedBrad King2021-07-081-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that some CUDA C++ language standard levels were added before any compilers actually supported them. In such cases, the value of `CUDA_STANDARD` gracefully degrades to the highest supported by the compiler (unless `CUDA_STANDARD_REQUIRED` is enabled). Therefore we can document support for each value based on when CMake learned of it.
| * | | | Help: Document when OBJCXX_STANDARD values were addedBrad King2021-07-081-1/+21
| | | | |
| * | | | Help: Document when OBJC_STANDARD values as definition listBrad King2021-07-081-1/+10
| | | | |