Commit Graph

8435 Commits

Author SHA1 Message Date
Brad King 3fa423bbc1 Merge topic 'FindPython-debian-cross-comp'
7855e4d6b7 FindPython: Add cross-compilation support for Debian-based systems.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Marc Chevrier <marc.chevrier@sap.com>
Merge-request: !1961
2018-04-20 07:48:29 -04:00
Brad King c14497191b Merge topic 'FindJPEG-imported-targets'
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
2018-04-19 08:26:34 -04:00
Brad King 423de692f9 Merge topic 'InstallRequiredSystemLibraries-mfcm'
bdf660cab5 InstallRequiredSystemLibraries: Check for existence of mfcm dlls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1980
2018-04-19 08:24:40 -04:00
Brad King c4a2059eae Merge topic 'depfile-flag'
d67962c55a SunPro,XL: Add depfile flags to support Ninja generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1969
2018-04-19 08:23:52 -04:00
Brad King 3c6388553a Merge topic 'CheckIncludeFile-required-libs'
a61ae3fb80 CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES
391a5837ee cmake_policy: Add undocumented PARENT_SCOPE option to GET
3c47ac5b25 OpenWatcom: Add workaround for lack of error on missing library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1978
2018-04-19 08:23:08 -04:00
Brad King 541b53375d Merge topic '17870-effective-system-name'
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
2018-04-19 08:20:15 -04:00
Yee Fan 7855e4d6b7 FindPython: Add cross-compilation support for Debian-based systems.
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
2018-04-19 02:53:46 +08:00
Christof Krüger bdf660cab5 InstallRequiredSystemLibraries: Check for existence of mfcm dlls
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
2018-04-18 09:18:57 -04:00
Mateusz Loskot 87f2cf3b1c FindJPEG: Add imported target support and full test 2018-04-18 08:59:06 -04:00
Brad King 48b5daaf7c Merge topic 'android-ndk-r17'
da294a039d Android: Add support for NDK r17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1976
2018-04-18 08:30:00 -04:00
Brad King a61ae3fb80 CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES
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
2018-04-18 08:09:56 -04:00
Gregor Jasny 4597396784 Apple: Use include_guard() within compiler config 2018-04-18 07:41:44 -04:00
Gregor Jasny e95b3fd9bb Apple: Use CMAKE_EFFECTIVE_SYSTEM_NAME to share compiler info
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
2018-04-18 07:41:42 -04:00
Gregor Jasny 84f9f63fcc Modules: Introduce CMAKE_EFFECTIVE_SYSTEM_NAME to lookup compiler info
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
2018-04-18 07:41:25 -04:00
Christian Pfeiffer 9260dedfd2 Merge topic 'fix-findmpi-lib-regex'
bab4bc5f32 FindMPI: Fix libname regex to not match the compiler executable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1952
2018-04-18 07:33:07 -04:00
Brad King 9fa0f2eb56 CMakeFindPackageMode: Perform platform-specific initialization
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.
2018-04-18 07:31:35 -04:00
Mateusz Loskot 13952a3b7f FindJPEG: Add multi config support and associated docs 2018-04-17 23:26:44 +02:00
Craig Scott 6774e9cabf Merge topic 'FindOpenSSL-components'
912a6c1cb5 FindOpenSSL: Add component support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1929
2018-04-17 17:23:47 -04:00
Mateusz Loskot 1f6649b7d1 FindJPEG: Add version detection and associated test update and docs 2018-04-17 22:53:26 +02:00
Mateusz Loskot 8d07408a62 FindJPEG: Cleanup documentation formatting 2018-04-17 22:48:36 +02:00
Mateusz Loskot e70da3f0f3 FindJPEG: Clean up whitepaces and lowercase function names 2018-04-17 21:43:07 +02:00
Ephi Sinowitz d67962c55a SunPro,XL: Add depfile flags to support Ninja generator
Add CMAKE_DEPFILE_FLAGS_${lang} to SunPro and XL. These flags are used
by the Ninja generator.
2018-04-17 15:35:49 -04:00
Brad King da294a039d Android: Add support for NDK r17
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.
2018-04-17 11:21:15 -04:00
Brad King 5836c60daa Merge topic 'FindOpenAL-std-includes'
3d9d1c9dcf FindOpenAL: Find AL/al.h or OpenAL/al.h in standard include paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1963
2018-04-17 07:32:53 -04:00
Brad King 6ff8e34e5e Merge topic 'FindOpenMP-Intel-Windows'
0c7433e874 FindOpenMP: Fix support for Intel on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1957
2018-04-17 07:29:33 -04:00
Brad King 8c546287dd Merge topic 'implicit-lib-gcceh-file'
eb0498357f Exclude "libgcc_eh" library files from implicit link libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1967
2018-04-17 07:19:22 -04:00
Brad King 054c849112 Merge branch 'FindOpenMP-Intel-Windows' into release-3.11
Merge-request: !1957
2018-04-16 14:12:46 -04:00
Roland Schulz 0c7433e874 FindOpenMP: Fix support for Intel on Windows
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
2018-04-16 14:11:12 -04:00
Brad King 90cdd06f4c Merge branch 'implicit-lib-gcceh-file' into release-3.11
Merge-request: !1967
2018-04-16 11:58:30 -04:00
Brad King eb0498357f Exclude "libgcc_eh" library files from implicit link libraries
Extend the fix in commit v3.9.6~1^2 (Restore exclusion of "gcc_eh" from
implicit link libraries, 2017-11-07) to also exclude `gcc_eh` libraries
referenced by absolute path to the library file.

Issue: #17436
2018-04-16 11:56:23 -04:00
James Jones 3d9d1c9dcf FindOpenAL: Find AL/al.h or OpenAL/al.h in standard include paths
Add `AL` and `OpenAL` to the `PATH_SUFFIXES` so that they are searched
within the standard system include directories.

We already have `include/AL`, `include/OpenAL`, and `include` to help
out within the locations specified by `PATHS`, though it is unclear why
it was done this way instead of adding the suffixes to all the `PATHS`
explicitly.
2018-04-16 11:24:22 -04:00
Brad King ccd17a557c Merge topic 'cuda-compiler-loaded'
595aa12811 CUDA: Set CMAKE_CUDA_COMPILER_LOADED variable when language is enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1955
2018-04-16 09:15:01 -04:00
Harry Mallon 912a6c1cb5 FindOpenSSL: Add component support 2018-04-16 12:38:39 +01:00
Henry Schreiner 595aa12811 CUDA: Set CMAKE_CUDA_COMPILER_LOADED variable when language is enabled
We already do this for C, CXX, Fortran, etc.
2018-04-13 13:04:33 -04:00
Brad King 77705a2c28 Merge topic 'clang-cl-std'
3f82c5904d Clang: Add standard flags support when simulating MSVC
8381bc12ad Clang: Avoid extra C++ feature detection when simulating MSVC
6cddf7ba32 Clang: Refactor standard flags logic when simulating MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1906
2018-04-13 10:22:26 -04:00
Chuck Atkins bab4bc5f32 FindMPI: Fix libname regex to not match the compiler executable
When trying to match full path libraries on the mpicc link line, the
current regex is not strict enough and improperly matches a partial path
to the Xcode compiler path with homebrew mpich.  This adjusts the regex
to look for a space preceeding the library name to prevent the first
argument, i.e. the compiler invocation, from being matched, and require
either a space or end-pattern after the library to prevent mismatches with
arguments that contain the library suffix but don't actually end with it.
2018-04-12 15:07:16 -04:00
Brad King d59cd3b131 Merge topic 'features-msvc-2017'
5f4272cc06 Features: Record for VS 2017 through 15.6

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1903
2018-04-12 11:31:42 -04:00
Brad King b148d3ade0 Merge topic 'FindMatlab-handle-exception'
ffb1f19191 FindMatlab: add unit tests
44c916b4c8 FindMatlab: always handle uncaught exception

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1946
2018-04-12 11:28:31 -04:00
Brad King f2376a5622 Merge topic 'FindwxWidgets-local-var'
9174786008 FindwxWidgets: Use more private name for local variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1951
2018-04-12 11:27:36 -04:00
Brad King 580822fa67 Merge topic 'FindImageMagick-FixForMultipleInstalls'
68d1fc89ed FindImageMagick: Find components in same locations as main package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1917
2018-04-12 11:26:43 -04:00
Ruben Van Boxem 3f82c5904d Clang: Add standard flags support when simulating MSVC
When Clang 3.9 simulates MSVC 19.0 or higher it knows the `-std:` flags
that such versions of MSVC defines.

Fixes: #17866
2018-04-11 14:50:22 -04:00
Brad King 8381bc12ad Clang: Avoid extra C++ feature detection when simulating MSVC
Apply the optimization from commit v3.10.0-rc1~131^2 (MSVC: Avoid
unnecessary C++ feature detection steps, 2017-09-11) to the case of
Clang simulating a version of MSVC that does not define standards.

Issue: #17274
2018-04-11 14:47:28 -04:00
Brad King 6cddf7ba32 Clang: Refactor standard flags logic when simulating MSVC
Consolidate the compile options and standard defaults branches.
Add comments.
2018-04-11 14:45:16 -04:00
Roman Wüger 68d1fc89ed FindImageMagick: Find components in same locations as main package
Fix component include/library path if multiple versions are installed.
When searching for individual components, look only in the locations
we expect to find them that we already computed.
2018-04-11 11:32:09 -04:00
Brad King 61607fffbb Merge branch 'features-msvc-2017' into release-3.11
Merge-request: !1903
2018-04-11 11:30:02 -04:00
Daniel Filipe 5f4272cc06 Features: Record for VS 2017 through 15.6
VS 15.3 has more features than we recorded in commit v3.7.0-rc1~156^2~2
(Features: Record features for VS 15 Preview 4, 2016-09-05).

While at it, update comments and simplify some cases.
2018-04-11 11:27:07 -04:00
Andrea Ranieri 9174786008 FindwxWidgets: Use more private name for local variable
Avoid using a `_filename` variable that may be set by project code.
Also unset the variable name that we do use to avoid conflict.
2018-04-11 10:41:10 -04:00
Marc Chevrier 963837cf17 UseSWIG: fix erroneous generator expressions
Add note regarding multi-config generators
2018-04-10 11:28:32 +02:00
Clemens Buchacher 44c916b4c8 FindMatlab: always handle uncaught exception
If runtests('$unittest_file') throws an exception it is ignored. It is
easy to produce such an exception by passing a nonexistent file as
UNITTEST_FILE.

We already handle exceptions if the option NO_UNITTEST_FRAMEWORK is set.
Use the same method to handle exceptions thrown by runtests or by a
custom_Matlab_test_command.

Fixes #16660.
2018-04-09 21:42:18 +02:00
Brad King 847ae3882e Merge topic 'FindCUDA-nvcc-clcache-support'
2da3698447 FindCUDA: Add support for clcache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1933
2018-04-09 11:19:44 -04:00