7d756f37cc FindBLAS: do not write an imported target name into BLAS_LIBRARIES
946846aaf5 FindPkgConfig: do not unset unused variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2006
Since commit v3.11.0-rc1~177^2 (FindBLAS: optionally query pkg-config
for a library, 2017-12-15) the `BLAS_LIBRARIES` result variable may
incorrectly contain the name of an imported target. Instead store the
list of libraries in the variable. Unfortunately pkg_check_modules does
not provide a way to get this so we need to use a (temporary) hack of
reading `INTERFACE_LINK_LIBRARIES` from the interface library target.
Fixes: #17934
When using https://github.com/cristianadam/cmake-checks-cache I have
noticed that CheckTypeSize would in certain cases have an empty
`__check_type_size_dir` variable. The errors would point to
`TestBigEndian`. By moving `include(CheckTypeSize)` outside the macro,
the errors go away.
Including dependencies of a module when the module is first included is
simpler and cleaner anyway.
Users can create it through an explicit command-line option if desired.
Initializing the variable as an empty cache entry can wipe out a normal
variable of the same name that may have been set by a toolchain file.
Since commit v3.8.0-rc1~261^2~11 (CUDA: Use the host compiler for
linking CUDA executables and shared libs, 2016-09-19) we save the value
of `CMAKE_CUDA_HOST_COMPILER` persistently in the compiler information
file as a normal variable.
Fixes: #17935
* Determining automatically the MCR version on OSX and Windows
* Distinguishing between MCR and Matlab
* Specific tests for the MCR
* mexext on windows does not work properly: the mexext is hardcoded
* Doc updates for the MCR
Fixes: #16487
Fix version comparisons to handle patch components. List and check
known archs for each version of CUDA so mismatching versions are not
suggested.
Fixes: #17921
87f2cf3b1c FindJPEG: Add imported target support and full test
13952a3b7f FindJPEG: Add multi config support and associated docs
1f6649b7d1 FindJPEG: Add version detection and associated test update and docs
8d07408a62 FindJPEG: Cleanup documentation formatting
e70da3f0f3 FindJPEG: Clean up whitepaces and lowercase function names
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1974
4597396784 Apple: Use include_guard() within compiler config
e95b3fd9bb Apple: Use CMAKE_EFFECTIVE_SYSTEM_NAME to share compiler info
84f9f63fcc Modules: Introduce CMAKE_EFFECTIVE_SYSTEM_NAME to lookup compiler info
9fa0f2eb56 CMakeFindPackageMode: Perform platform-specific initialization
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1964
Debian-based Linux distributions locate their architecture-specific
pythonX.Y-config tool at /usr/bin/<arch>-python<X.Y>-config.
We first attempt to find and use the architecture-specific
pythonX.Y-config tool. If the pythonX.Y-config tools are absent, then we
proceed to find the architecture-specific Python libraries.
Fixes: #17912
Previously, only existence of `mfc${v}.dll` and `mfc${v}d.dll` variants
was checked and it was assumed that the managed variants `mfcm*.dll`
also existed. This assumption doesn't hold with Visual Studio 2017.
Check each file separately.
Fixes: #17913
Other check modules honor this variable, so include file checks should
too. Add policy `CMP0075` to enable the behavior in a compatible way.
This change was originally made by commit v3.11.0-rc1~108^2
(CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES, 2017-12-24) but it
was reverted by commit v3.11.1~9^2 (Revert "CheckIncludeFiles: Honor
CMAKE_REQUIRED_LIBRARIES", 2018-04-04) because the behavior change could
affect checks in existing projects in an incompatible way.
Fixes: #9514
Apple platforms macOS, iOS, tvOS, and watchOS can all share the same
compiler information. Rename `Darwin-*` modules to `Apple-*` and load
them all through `CMAKE_EFFECTIVE_SYSTEM_NAME`. This saves duplication
of 4 * 21 compiler information modules.
Issue: #17870
Create a `CMAKE_EFFECTIVE_SYSTEM_NAME` variable to use for looking
up compiler information modules instead of using `CMAKE_SYSTEM_NAME`
directly. This will allow multiple platforms to share the same set
of compiler information modules without spelling out all of them.
Issue: #17870
Since commit v3.1.0-rc1~565^2~3 (Add platform-specific initialization
step when enabling languages, 2014-04-29) the main enable-language logic
includes the `CMakeSystemSpecificInitialize` module to perform
platform-specific initialization based on `CMAKE_SYSTEM_NAME`. This
should be done during `cmake --find-package` mode too.
The `armeabi` ABI is no longer available, so we can no longer use it by
default unconditionally. Instead detect all available ABIs and choose
the oldest arm ABI that is available.
Also update the test suite to account for the lack of `armeabi` support
and pass as of Android NDK r17-beta2.
The change in commit v3.11.0-rc1~334^2 (FindOpenMP: Use NO_DEFAULT_PATH
where appropriate, 2017-11-15) broke partial support for Intel on Windows.
Since `OpenMP_${LANG}_IMPLICIT_LINK_DIRS` is empty for this compiler
the `find_library` call without `NO_DEFAULT_PATH` worked accidentally
in environments with the needed libraries in the search path already.
Fix support for Intel on Windows by simply removing our explicit search
for the `libiomp5md` library. In cases that it is needed, the compiler
already inserts metadata in `.obj` files to tell the MSVC linker to use
the library.
Suggested-by: Christian Pfeiffer <cpfeiffer@live.de>
Fixes: #17910