Commit Graph

10642 Commits

Author SHA1 Message Date
Robert Maynard
457170a476 CXX: Compile when possible with explicit Cxx language flag set
Issue: #14516, #20716
2020-06-09 16:20:53 -04:00
Robert Maynard
644d3b86eb C: Compile when possible with explicit C language flag set
Issue: #14516, #20716
2020-06-09 16:20:53 -04:00
Brad King
577c86e59d Merge topic 'cpack-ifw-3.2' into release-3.18
b79aad8069 CPack/IFW: Add Qt installer framework version 3.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4859
2020-06-09 09:23:08 -04:00
Brad King
3803f933bf Merge topic 'cpack-ifw-3.2'
b79aad8069 CPack/IFW: Add Qt installer framework version 3.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4859
2020-06-09 09:23:08 -04:00
Brad King
cc1592d708 Merge topic 'FindOpenSSL-3.0'
796b447373 FindOpenSSL: Fix OpenSSL 3.0.0 version extraction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4860
2020-06-09 08:53:06 -04:00
Brad King
5bb24ed550 Merge topic 'FindOpenSSL-3.0' into release-3.18
796b447373 FindOpenSSL: Fix OpenSSL 3.0.0 version extraction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4860
2020-06-09 08:53:05 -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
Frederik Gladhorn
b79aad8069 CPack/IFW: Add Qt installer framework version 3.2
Qt 5.15 comes with IFW 3.2
2020-06-08 08:11:39 -04:00
Frederik Gladhorn
f859e6f812 CPack/IFW: Fix documentation typo: REQUARED 2020-06-08 08:08:58 -04:00
Brad King
45ecea430b Merge topic 'cuda_cudart_status' into release-3.18
7e2f86461a FindCUDAToolkit: Fix cudart not found status message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4861
2020-06-08 07:57:52 -04:00
Raul Tambre
7e2f86461a FindCUDAToolkit: Fix cudart not found status message
This ended up after the searching after commit dc2eae1 (FindCUDAToolkit: Factor
out discovery code into a separate file, 2020-04-22).
Move it back to where it was and should be.
2020-06-08 07:56:31 -04:00
Brad King
6f8a31849c Merge topic 'cuda_clang_simulate' into release-3.18
0f88b7a592 CUDA: Fix Clang depfile flags when simulating MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4863
2020-06-08 07:55:51 -04:00
Raul Tambre
0f88b7a592 CUDA: Fix Clang depfile flags when simulating MSVC
__compiler_clang() doesn't call __compiler_gnu() if we're emulating MSVC. Thus
CMAKE_DEPFILE_FLAGS_CUDA remains unset and compiling doesn't work, due to NVCC
dependency injection workaround in CMakeCUDAInformation.cmake, which triggers
for Ninja if they're not set.
Always set the depfile flags to fix this. Most other compiler modules seem to
do the same.
2020-06-08 07:54:51 -04:00
Brad King
8325683420 Merge topic 'cuda_user_architectures_specifiers' into release-3.18
4eaf1ef425 CUDA: Fix checking working architectures with specifiers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4856
2020-06-08 07:53:26 -04:00
Raul Tambre
4eaf1ef425 CUDA: Fix checking working architectures with specifiers
We don't distinguish real/virtual architectures during compiler detection.
If the user passes -DCMAKE_CUDA_ARCHITECTURES="70-virtual" we'll test with only
the real architecture.
If it works "architectures" will end up as "70". We check equality using
strings, so this fails and we incorrectly throw an error.
Fix this by comparing against CMAKE_CUDA_ARCHITECTURES with the specifiers
stripped.

We need to deduplicate tested_architectures for the same reason in case the
user specified something like "70-real;70-virtual".
2020-06-05 15:04:23 +03:00
Osama Moharam
ef816610be ARMClang: allow fallback to -march and correct setting of --cpu flags
allows cmake to fall back to CMAKE_SYSTEM_ARCH in case CMAKE_SYSTEM_PROCESSOR is not in armclang -mcpu=list
additionally checks if CMAKE_SYSTEM_PROCESSOR belongs to armlink --cpu=list

Fixes: #19962
2020-06-03 16:58:31 +02:00
Brad King
007109b20f Merge topic 'armclang-armlink'
73fb6ac82b ARMClang: Add support for armlink

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4811
2020-06-03 06:10:14 -04:00
Osama Moharam
73fb6ac82b ARMClang: Add support for armlink
sets CMAKE_LIBRARY_PATH_FLAG to '--userlibpath=' when using armlink.

Fixes: #20761
2020-06-02 11:32:32 -04:00
Brad King
e76c11aa7c Merge branch 'backport-3.17-pch-no-Fortran' into pch-no-Fortran 2020-06-02 08:24:11 -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
75a34b1214 Merge topic 'UseSWIG-note-dep-strategy'
1f543b23a8 UseSWIG: note dependency behavior for Make generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4834
2020-06-02 08:00:07 -04:00
Brad King
a0c4c27443 Merge topic 'macos-sdk-libraries'
444dbd40de Darwin: honour `CMAKE_OSX_SYSROOT` more faithfully

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4779
2020-06-02 07:57:07 -04:00
Kyle Edwards
97fa63c09b ASM: Fix preprocessor definition flags for GNU 'as' tool
Fixes: #20780
2020-06-01 14:43:37 -04:00
Ben Boeckel
1f543b23a8 UseSWIG: note dependency behavior for Make generators
See: #20067
2020-06-01 10:09:56 -04:00
Brad King
6f5f87966b Merge topic 'fc-ep-git-update-strategy'
8aa4d51ec5 ExternalProject: Add missing release note for git update strategy
1236590507 FetchContent: Pass through CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY if set
e71c2807ba ExternalProject: Remote checkout needs to include the remote name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4818
2020-06-01 07:49:14 -04:00
Saleem Abdulrasool
444dbd40de Darwin: honour CMAKE_OSX_SYSROOT more faithfully
The libraries in the SDK should be given precedence over the system
libraries.  Check for the default library search path (in default order)
of `/usr/lib` and `/usr/local/lib` and use these as system prefix paths
for libraries when performing the link step against a specified SDK.
2020-05-30 20:32:38 -07:00
Craig Scott
1236590507 FetchContent: Pass through CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY if set
This was missed when the initial support was added in
commit 0aea435aa1 (ExternalProject: Provide choice of
git update strategies, 2020-02-12)
2020-05-29 12:10:32 -04:00
Craig Scott
e71c2807ba ExternalProject: Remote checkout needs to include the remote name
Commit 0aea435aa1 (ExternalProject: Provide choice of
git update strategies, 2020-02-12) added the git update
strategies, but the CHECKOUT strategy was not handling
remote refs correctly. The local ref would be checked out
instead and no warning or error would have been emitted.
The test that should have caught this was also malformed
and did not actually move the local master branch as intended.
2020-05-29 12:10:32 -04:00
Raul Tambre
650c1029a0 CUDA: Detect non-working user-specified architectures on NVCC
Extend the improved error message added for Clang by commit 19cc5bc296
(CUDA: Throw error if user-specified architectures don't work,
2020-05-26) to cover NVCC as well.

Also fix the error incorrectly being thrown if the user-specified list
differed in order to the architectures parsed from the compiler output.

Implements: #20757
2020-05-29 11:55:47 -04:00
Brad King
b8fe888c12 Merge topic 'FindSubversion-xcode-removed'
2c0db404d1 FindSubversion: Do not accept macOS stub without Xcode implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4813
2020-05-29 07:11:58 -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
Brad King
40748ec1d9 Merge topic 'openssl-3.0.0'
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
Brad King
a1af643291 Merge topic 'fix-cpack-deb-generating-empty-paragraph'
6ba842163c CPack-deb: don't add a line with a dot to pkg desc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4806
2020-05-28 06:50:40 -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
Brad King
6b208d873e Merge topic 'cuda_user_architectures'
19cc5bc296 CUDA: Throw error if user-specified architectures don't work

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4800
2020-05-27 14:30:32 -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
08f1ee1f53 Merge topic 'cuda_lib_x64'
f2df6f5446 CUDA: Check for lib/x64 library directory in Internal/CUDAToolkit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4799
2020-05-27 08:22:17 -04:00
Raul Tambre
19cc5bc296 CUDA: Throw error if user-specified architectures don't work
Previously if an user specified CMAKE_CUDA_ARCHITECTURES and they didn't
work we would end up erroring during compiler testing.  Instead check if
the architectures we successfully compiled with are the same as the
user-specified (if any). If they don't match, then throw a more helpful
error than compiler testing would.

Additionally, to make this work correctly I made it try all
user-specified architectures at once instead of each separately.

Implements: #20756
2020-05-26 16:08:52 -04:00
Raul Tambre
f2df6f5446 CUDA: Check for lib/x64 library directory in Internal/CUDAToolkit
Fixes #20755.
2020-05-26 19:05:22 +03:00
Brad King
eb705b9531 Update links to gitlab.kitware.com repos to add -/
GitLab now uses a `/-/` component between the `group/project` part of
the URL and the `{issues,merge_requests,tree}` part so that it can
support `group/subgroup/project` with arbitrary depth.
2020-05-26 11:38:01 -04:00
Brad King
7c0e5fcf63 Merge topic 'reduce-initial-checks'
1d21dd0f7c enable_language: Assume compiler works if ABI detection compiles
7a01250581 CMakeDetermineCompilerABI: Fold copy error into CMAKE_<LANG>_ABI_COMPILED

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4789
2020-05-26 09:26:10 -04:00
Brad King
2ecb8698b7 Merge topic 'cuda-clang-pthreads'
80d37167fe Find{Threads,MPI}: Add support for CUDA with Clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !4781
2020-05-26 08:25:23 -04:00
Brad King
b6d9c3e459 Merge topic 'xerces-cygwin-library-naming'
b59c127df2 FindXercesC: Find Cygwin libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4783
2020-05-26 08:24:16 -04:00
Craig Scott
800e29ab8f Merge topic 'fetchcontent-externalproject-empty-args'
8dca6bd04b FetchContent: Preserve empty string arguments
cbf2daeed0 ExternalProject: Preserve empty string arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4729
2020-05-25 17:20:48 -04:00
Brad King
1d21dd0f7c enable_language: Assume compiler works if ABI detection compiles
We run a `try_compile` with a tiny test source to check if the compiler
works so that we can fail early if it does not.  When the compiler does
work, we immediately `try_compile` the ABI detection source.  In the
common case that both steps work, we gain no useful information from the
first one and the work was wasted.

Re-order the checks to try the ABI detection first.  If it works then
assume the compiler works and skip the dedicated check.  If the ABI
check fails then proceed with the normal test for a working compiler so
the diagnostic can be shown as before.

Fixes: #18703
2020-05-25 14:39:40 -04:00
Brad King
7a01250581 CMakeDetermineCompilerABI: Fold copy error into CMAKE_<LANG>_ABI_COMPILED 2020-05-25 14:08:19 -04:00
Tobias Ribizel
80d37167fe Find{Threads,MPI}: Add support for CUDA with Clang
Currently CMake passes `-Xcompiler -pthread` flags to CUDA compilers
irrespective of the actual CUDA compiler ID.  This makes sure the
additional `-Xcompiler` flag is only used with nvcc.
2020-05-25 11:17:52 -04:00
Brad King
a354b7f21e Merge topic 'CheckLinkerFlag-module'
af96c0f4fa CheckLinkerFlag: Add module to check validity of linker flags
3c4cc77d55 Tests: Extend Fortran compiler information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4777
2020-05-25 10:59:01 -04:00
Marc Chevrier
af96c0f4fa CheckLinkerFlag: Add module to check validity of linker flags
Fixes: #15934
2020-05-25 10:57:14 -04:00