CMake merge requestshttps://gitlab.kitware.com/cmake/cmake/-/merge_requests2024-03-15T23:14:18-04:00https://gitlab.kitware.com/cmake/cmake/-/merge_requests/1742FindBLAS: Fix for Intel MKL 20172024-03-15T23:14:18-04:00Mathieu LamarreFindBLAS: Fix for Intel MKL 2017The files have changed in Intel MKL 2017.
Neither `libguid40` nor `libopenmp` are found in the MKL library folder.
`mkl_tbb_thread*.lib` is now present in that folder.
Topic-rename: FindBLAS-MKL2017
The files have changed in Intel MKL 2017.
Neither `libguid40` nor `libopenmp` are found in the MKL library folder.
`mkl_tbb_thread*.lib` is now present in that folder.
Topic-rename: FindBLAS-MKL2017
Christian PfeifferChristian Pfeifferhttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/3424VS: Find Visual Studio 2019 Build Tools2019-06-07T12:52:10-04:00pseudonym117VS: Find Visual Studio 2019 Build ToolsThe VS 2019 Build Tools are not reported by the Visual Studio Installer
tool through the normal enumeration. Instead we must enumerate "all"
instances to see it. We already have logic to filter out instances that
do not have a compi...The VS 2019 Build Tools are not reported by the Visual Studio Installer
tool through the normal enumeration. Instead we must enumerate "all"
instances to see it. We already have logic to filter out instances that
do not have a compiler installed and also have the generator setting
`CMAKE_GENERATOR_INSTANCE` to allow use of specific instances, so
enumerating all instances should be okay.
Fixes: #19241
Topic-rename: vs2019-build-tools
https://gitlab.kitware.com/cmake/cmake/-/merge_requests/3606Android: Update toolchain selection for NDK r192019-11-18T17:38:07-05:00Brad KingAndroid: Update toolchain selection for NDK r19The `<ndk>/build/core/toolchains/*/setup.mk` files no longer have any
`TOOLCHAIN_ROOT` or `TOOLCHAIN_VERSION` fields. The `TOOLCHAIN_ROOT`
is now hard-coded in `<ndk>/build/core/default-build-commands.mk`.
The NDK build system now uses ...The `<ndk>/build/core/toolchains/*/setup.mk` files no longer have any
`TOOLCHAIN_ROOT` or `TOOLCHAIN_VERSION` fields. The `TOOLCHAIN_ROOT`
is now hard-coded in `<ndk>/build/core/default-build-commands.mk`.
The NDK build system now uses only a single toolchain in
<ndk>/toolchains/llvm/prebuilt/<host>
The compilers are always `bin/{clang,clang++}` and the binutils are
always `bin/$(TOOLCHAIN_NAME)-*`. It does not use `-gcc-toolchain`.
For now CMake can continue to use `-gcc-toolchain`. In future work we
may be able to switch to what the NDK buildsystem now does. NDK r19
still provides the GCC toolchains (without the compilers) suitable for
use with `-gcc-toolchain`. They are located in
<ndk>/toolchains/<toolchain>/prebuilt/<host>
Find a GCC toolchain for the target platform without `TOOLCHAIN_ROOT`
by globbing for one of the binutils.
Fixes: #18739https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5095Ninja: Clean metadata when re-generating inside a build with Ninja 1.10.2+2020-11-30T15:03:55-05:00Brad KingNinja: Clean metadata when re-generating inside a build with Ninja 1.10.2+Ninja 1.10.2 fixes support for `generator = 1` rules that run metadata update commands during regeneration while a build is running. Update
the condition added by commit ccaa0bccc42a31f7515c6f85a0601ac0ad006e96 from !4290 to remove our ...Ninja 1.10.2 fixes support for `generator = 1` rules that run metadata update commands during regeneration while a build is running. Update
the condition added by commit ccaa0bccc42a31f7515c6f85a0601ac0ad006e96 from !4290 to remove our workaround when Ninja is new enough.
Fixes: #20274
Backport: releaseBrad KingBrad Kinghttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/5924VS: Suppress VS 16.9+ default /permissive flag2021-03-19T10:56:46-04:00Brad KingVS: Suppress VS 16.9+ default /permissive flagVS 16.9 changed its `ConformanceMode` setting from a `BoolProperty` to
an `EnumProperty`, and set it to `true` by default. This causes the
`/permissive` flag to be passed to the compiler even if not requested by
the project. In this ca...VS 16.9 changed its `ConformanceMode` setting from a `BoolProperty` to
an `EnumProperty`, and set it to `true` by default. This causes the
`/permissive` flag to be passed to the compiler even if not requested by
the project. In this case, add an explicit `ConformanceMode` default
setting to suppress the flag unless the project or user passes it.
Fixes: #21945
Backport: releasehttps://gitlab.kitware.com/cmake/cmake/-/merge_requests/5996CUDA: Some distributions install CUDA to /usr/local2021-04-26T09:43:13-04:00Eli F-FCUDA: Some distributions install CUDA to /usr/localSome distributions seem to install CUDA to `/usr/local` rather than `/usr/lib`, so added checks for CUDA being in that place too.Some distributions seem to install CUDA to `/usr/local` rather than `/usr/lib`, so added checks for CUDA being in that place too.https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9014VS: Update WindowsStore support for VS 17.82023-11-29T13:58:07-05:00DealVS: Update WindowsStore support for VS 17.8The MSVC 14.38 toolset no longer supports the `/FU` flag, but the
`Microsoft.Cpp.AppContainerApplication.props` file that comes with VS
17.8 still adds a `ForcedUsingFiles` by default. Add an empty
`ForcedUsingFiles` to work around the ...The MSVC 14.38 toolset no longer supports the `/FU` flag, but the
`Microsoft.Cpp.AppContainerApplication.props` file that comes with VS
17.8 still adds a `ForcedUsingFiles` by default. Add an empty
`ForcedUsingFiles` to work around the problem.
Fixes: #25452
Backport: release
Topic-rename: vs-17.8-store