Commit Graph

10265 Commits

Author SHA1 Message Date
Brad King 5a745cfbe0 Merge branch 'FindOpenSSL-3.0' into release-3.17
Merge-request: !4860
2020-06-08 08:25:59 -04:00
Billy Brumley 796b447373 FindOpenSSL: Fix OpenSSL 3.0.0 version extraction
Fix the regex syntax added by commit 61d746e592 (FindOpenSSL: Detect
OpenSSL 3.0.0, 2020-05-27, v3.17.3~1^2).  Add missing escapes.
Test with `openssl-3.0.0-alpha3`.

While at it, also unset a temporary variable after use.
2020-06-08 08:24:57 -04:00
Brad King 37955f87d6 Merge topic 'pch-no-Fortran' into release-3.17
10c88c4337 PCH: Do not enable GNU or Intel PCH settings for Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4843
2020-06-03 06:04:39 -04:00
Brad King 10c88c4337 PCH: Do not enable GNU or Intel PCH settings for Fortran
The PCH settings are shared by C and CXX languages but do not make sense
for Fortran.  In particular, `CMAKE_PCH_EXTENSION` should not be set
because it can overwrite the value set for C/C++ languages, which may
have a different compiler vendor than the Fortran compiler.

Fixes: #20752
2020-06-02 08:23:40 -04:00
Brad King 2c0db404d1 FindSubversion: Do not accept macOS stub without Xcode implementation
Xcode no longer provides a `svn` implementation, but the `/usr/bin/svn`
stub may still exist.
2020-05-28 11:37:47 -04:00
Brad King 54eeccbfb6 Merge topic 'openssl-3.0.0' into release-3.17
61d746e592 FindOpenSSL: Detect OpenSSL 3.0.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4805
2020-05-28 06:51:52 -04:00
Jonathan Verner 6ba842163c CPack-deb: don't add a line with a dot to pkg desc
Currently, if the package description ends with a newline
(typically if it is read from a file) cpack -deb adds a single line
with a dot at the end which leads to a violation of the
`extended-description-contains-empty-paragraph` debian policy.

This commit fixes the above behaviour.

Fixes: #20763
2020-05-27 14:44:28 -04:00
Vitezslav Cizek 61d746e592 FindOpenSSL: Detect OpenSSL 3.0.0
The OpenSSL versioning is changing with the upcoming 3.0.0 release.
https://www.openssl.org/blog/blog/2018/11/28/version/
Since 3.0.0, the patch letters are being dropped. The new format is:
MAJOR.MINOR.PATCH

The OPENSSL_VERSION variable can now be directly derived from the new
OPENSSL_VERSION_STR macro.
https://www.openssl.org/docs/manmaster/man3/OPENSSL_VERSION_NUMBER.html
2020-05-27 09:08:10 -04:00
Brad King 0781540a80 Merge topic 'cuda-default-runtime' into release-3.17
e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
1086e930dc CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile
a4ea293153 Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4762
2020-05-22 06:55:37 -04:00
Robert Maynard e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.

To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
2020-05-21 11:15:03 -04:00
Marc Chevrier 71e6854b22 FindPython: use CMAKE specific variables to look-up debug library
Fixes: #20714
2020-05-18 15:01:26 +02:00
Brad King 16bf978e0c Merge branch 'backport-3.16-objc-env-vars' into objc-env-vars 2020-05-14 07:27:24 -04:00
Brad King 67b9f55d46 Objective C/C++: Honor CC and CXX env vars to select compiler
If the `OBJC` or `OBJCXX` environment variable is not set to specify an
Objective C or C++ compiler, check `CC` or `CXX` too.

Fixes: #20703
2020-05-14 07:17:48 -04:00
Brad King b07bc05961 Merge topic 'fix-cache-args-file-to-dep-list' into release-3.17
0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4710
2020-05-13 12:12:28 -04:00
Ben Boeckel 0199dd9f1b ExternalProject: expose _ep_cache_args_script to the caller
This is needed so that the caller can add a dependency on the cache
file.

Fixes: #20668
2020-05-12 10:34:23 -04:00
Brad King 91dd23d3d5 Merge topic 'pch-msvc-pragma' into release-3.17
6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4736
2020-05-12 06:52:40 -04:00
Brad King 6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above
VS 2017 15.6 introduced support for this pragma.  Older MSVC versions
warn that it is unknown.

Fixes: #20692
2020-05-11 13:31:15 -04:00
Brad King 4de2cb4c41 Merge topic 'FindGTK2-harfbuzz-target' into release-3.17
5ab137b7e9 FindGTK2: Add harfbuzz target for dependency from pango

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4725
2020-05-11 10:12:14 -04:00
Brad King 5ab137b7e9 FindGTK2: Add harfbuzz target for dependency from pango
Since commit effafca77e (FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRS,
2019-10-01, v3.16.0-rc1~22^2), pango's dependency on harfbuzz has been
captured, but only for the `GTK2_INCLUDE_DIRS` and `GTK2_LIBRARIES`
variables.  Add the `GTK2::harfbuzz` imported target and update the
`GTK2::pango` target to depend on it.

Issue: #19531
2020-05-09 06:38:18 -04:00
Marc Chevrier 25978c7a00 FindPython: ensure any specified version is correctly handled
Fixes: #20674
2020-05-07 11:19:36 +02:00
Brad King 6ccbf6ba71 Merge topic 'FindPkgConfig-isystem' into release-3.17
e9d93c3731 Help: Add 3.17 release note for FindPkgConfig '-isystem' fix
dfaaae67a3 Merge branch 'backport-3.16-FindPkgConfig-isystem'
4d446c68d1 FindPkgConfig: also handle "-isystem" prefixes for include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4693
2020-05-06 09:28:30 -04:00
Brad King 4ec59891ad Merge topic 'CheckLanguage-cuda-host' into release-3.17
5b304a7503 CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4711
2020-05-06 09:27:13 -04:00
Brad King dfaaae67a3 Merge branch 'backport-3.16-FindPkgConfig-isystem' 2020-05-06 07:45:55 -04:00
Rolf Eike Beer 4d446c68d1 FindPkgConfig: also handle "-isystem" prefixes for include directories
Fixes: #20652
2020-05-05 18:30:38 +02:00
Brad King 5b304a7503 CheckLanguage: Fix forwarding of CMAKE_CUDA_HOST_COMPILER
Fix the condition added by commit fada8cbfd6 (CheckLanguage: Report
CMAKE_CUDA_HOST_COMPILER if needed for compilation, 2019-05-31,
v3.15.0-rc1~12^2) to activate CUDA-specific logic.  The old condition
had worked in our test suite only by accident because the loop variable
used in the test happened to be the name and value that the old
condition used!  Update the test to use a different name.

Fixes: #19013
2020-05-05 09:50:29 -04:00
Brad King 2013c30c7b Merge topic 'FindBoost-1.73' into release-3.17
a1e04be913 FindBoost: Update MinGW compiler tag for Boost 1.73

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Boris Basic <baljci@hotmail.com>
Merge-request: !4706
2020-05-05 09:05:18 -04:00
Brad King 5ef074f726 Merge topic 'FindBoost-1.73' into release-3.17
5e8d66f431 FindBoost: Add 1.73 to known versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4708
2020-05-05 09:04:09 -04:00
Brad King a1e04be913 FindBoost: Update MinGW compiler tag for Boost 1.73
Boost 1.73 on MinGW no longer uses the compiler minor version in
its library names if the major version is at least 5.

Fixes: #20673
2020-05-04 14:05:40 -04:00
Boris Basic 5e8d66f431 FindBoost: Add 1.73 to known versions
This was accidentally left out of commit 9daf79c53b (FindBoost: Add
support for Boost 1.73, 2020-04-19, v3.17.2~9^2).
2020-05-04 12:13:20 -04:00
Marc Chevrier 84bd62a6d7 FindPython: fix error on FPHSA call
Fixes: #20650
2020-04-29 12:18:54 +02:00
Brad King ee1dd905c0 Merge topic 'FindBoost-1.73' into release-3.17
69ed51960b FindBoost: Prevent warning with boost 1.73

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4662
2020-04-28 07:14:08 -04:00
Orgad Shaneh 69ed51960b FindBoost: Prevent warning with boost 1.73
In commit 9daf79c53b (FindBoost: Add support for Boost 1.73, 2020-04-19)
we forgot to update the version comparison for the warning.
2020-04-27 14:34:02 -04:00
Marc Chevrier a7eca04163 FindPython: fix reason failure propagation 2020-04-24 15:47:05 +02:00
Marc Chevrier f39da773ee FindPython: fix python compiler validation
Ensure also the cache of properties is erased in case of multiple
searches.

Fixes: #20626, #20627
2020-04-23 17:47:22 +02:00
Brad King 4a5de69e09 Merge topic 'FindBoost-1.73' into release-3.17
9daf79c53b FindBoost: Add support for Boost 1.73
f48051d33f FindBoost: Simplify Boost_VERSION_STRING comparisons
56b3375f3e BoostScanDeps: Fix typo in numpy handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4635
2020-04-21 07:44:31 -04:00
Alexander Grund 9daf79c53b FindBoost: Add support for Boost 1.73
Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.73.0
sources to compute dependencies.

This includes a new Boost.Nowide library.

Special case: Boost.Filesystem is an optional dependency as the include
is only required to make Boost.Filesystem use UTF-8 paths on user
request
2020-04-20 08:27:32 -04:00
Alexander Grund f48051d33f FindBoost: Simplify Boost_VERSION_STRING comparisons 2020-04-20 08:27:32 -04:00
Brad King ee79216b82 Merge topic 'ios_multi_arch_fix' into release-3.17
170e598add iOS: Fix detection of supported SDK architectures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Merge-request: !4615
2020-04-17 08:07:29 -04:00
Alexandru Croitor 170e598add iOS: Fix detection of supported SDK architectures
Instead of relying on SDKSettings.plist which does not contain the
certain architectures, deduce the supported architectures by
inspecting libSystem.tbd and libSystem.dylib.

.tbd files are text files, so just parse out the archs string.
.dylib files can be fat or non-fat, so use lipo -info to extract
the architectures and parse lipo output.

Fixes: #20588
2020-04-16 07:51:03 -04:00
Brad King 5fde1af854 Merge topic 'FindPython-if-auto-deref' into release-3.17
894fdea2a9 FindPython: remove extra dereference
0b9c9e2c8c FindPython: avoid autoderef in version comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4610
2020-04-15 09:38:03 -04:00
Brad King 17e6666a43 Merge topic 'FindCUDAToolkit-search-stubs' into release-3.17
4f1e24efa0 FindCUDAToolkit searches stub location last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4589
2020-04-15 09:36:24 -04:00
Ben Boeckel 894fdea2a9 FindPython: remove extra dereference
If the version is not found (e.g., missing headers), this causes a CMake
error about `if(blah VERSION_EQUAL)` being an invalid statement.
2020-04-14 11:03:35 -04:00
Ben Boeckel 0b9c9e2c8c FindPython: avoid autoderef in version comparisons 2020-04-14 11:03:35 -04:00
Robert Maynard 4f1e24efa0 FindCUDAToolkit searches stub location last
Fixes #20252
2020-04-14 09:39:46 -04:00
Brad King e14386db8f Merge topic 'FindMPI-pgi-spectrum-mpi-wrappers' into release-3.17
cd449c6175 FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4598
2020-04-13 10:57:22 -04:00
Chuck Atkins cd449c6175 FindMPI: Add the pgi compiler wrapper names used by IBM Spectrum MPI 2020-04-10 12:01:59 -04:00
Brad King 45fa9b32ca Apple: Improve handling of missing SDKs in CMAKE_APPLE_ARCH_SYSROOTS
Use `<arch>-SDK-NOTFOUND` instead of an empty string as a placeholder in
`CMAKE_APPLE_ARCH_SYSROOTS` for architectures whose SDK is not found.
This ensures the length of `CMAKE_APPLE_ARCH_SYSROOTS` matches the
length of `CMAKE_OSX_ARCHITECTURES`.  It also makes the missing SDKs
more visible in the value.

Issue: #20534
2020-04-08 11:51:02 -04:00
Brad King 3d61ff7b10 Merge topic 'llvm-rc-include-path' into release-3.17
35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4570
2020-04-07 08:00:44 -04:00
Thomas Bernard 35a29ec827 llvm-rc: Restore include path for data after explicit preprocessing
Since commit 1c2d031cbd (Add -E cmake_llvm_rc to preprocess files for
llvm-rc, 2020-01-14, v3.17.0-rc1~24^2) with llvm-rc we explicitly
preprocess RC source files and then compile separately without -I flags.
This broke cases where the RC source references data files adjacent to
itself or in the include path.

This change adds the expansion of the include paths when calling the
llvm-rc in order for the resource files to be picked up correctly by
llvm-rc.  Since the RC compiled file is first preprocessed, the file
being compiled by llvm-rc resides in the build directory. In order for
llvm-rc to find the resource data specified relative to the .rc file
being compiled, the source file path is preppended in the include list
so that the original source path takes priority over all the other
includes paths specified.

A space was added in the CMAKE_INCLUDE_FLAG_RC to make the include
directive work properly for llvm-rc. Checks on the rc.exe showed that
the syntax change doesn't affect it's proper operation.

Fixes: #20529
2020-04-06 21:19:12 +02:00
Brad King 11998c63fd Merge topic 'ExternalProject-no-extract-bool' into release-3.17
2c4bb705e8 ExternalProject: allow `DOWNLOAD_NO_EXTRACT OFF`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4562
2020-04-03 06:58:22 -04:00