Commit Graph

10978 Commits

Author SHA1 Message Date
Brad King
d25c38374c Merge topic 'cuda_nvcc_abi_werror'
079ea66468 CMakeDetermineCompilerABI: Handle NVCC-style -Werror flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Seth R Johnson <johnsonsr@ornl.gov>
Merge-request: !5318
2020-10-05 08:54:50 -04:00
Craig Scott
a771e2146a Merge topic 'FetchContent_missing_SOURCE_DIR'
b030a6af88 FetchContent: Raise error if manually given source dir does not exist

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5317
2020-10-04 17:02:11 -04:00
Raul Tambre
079ea66468 CMakeDetermineCompilerABI: Handle NVCC-style -Werror flags
NVCC doesn't require an equals sign for its -Werror flags.

Fixes #21265.
2020-10-04 09:09:21 +03:00
Craig Scott
b030a6af88 FetchContent: Raise error if manually given source dir does not exist
Fixes: #21208
2020-10-03 18:46:08 +10:00
Marc Chevrier
127436192d FindSWIG: Fix syntax error
Add some tests to cover all cases regarding version handling

Fixes: #21264
2020-10-02 16:17:36 +02:00
Brad King
3ec0f9d620 Merge topic 'UseSWIG-output-source-file-properties'
4a81a0ce3d UseSWIG: Add OUTPUT_DIR and OUTFILE_DIR source file properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5303
2020-10-02 09:55:26 -04:00
Craig Scott
468bcc3291 Merge topic 'FindSWIG-version-range'
1d300ee2a9 FindSWIG: Add version range support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5306
2020-10-02 06:58:13 -04:00
Brad King
2e8b85b040 Merge topic 'macos-arm64'
b6c60f14b6 macOS: Default to arm64 architecture on Apple Silicon hosts
383e81aa60 Tests: Teach RunCMake to ignore Xcode internal objc warnings
8f75912176 Tests: Enable Assembler test case when CMAKE_OSX_ARCHITECTURES has one value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5291
2020-10-01 08:45:13 -04:00
Brad King
9fc742041b Merge topic 'intel-clang'
5c3a93ab88 Intel: Add Intel Clang compiler identification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5300
2020-10-01 07:55:13 -04:00
Marc Chevrier
1d300ee2a9 FindSWIG: Add version range support 2020-10-01 12:00:29 +02:00
Marc Chevrier
4a81a0ce3d UseSWIG: Add OUTPUT_DIR and OUTFILE_DIR source file properties
These properties enable to manage output directories on
per source file basis.

Fixes: #21250
2020-09-30 19:19:14 +02:00
Brad King
b6c60f14b6 macOS: Default to arm64 architecture on Apple Silicon hosts
Detect `arm64` hardware using a method that pierces Rosetta.  If
`CMAKE_OSX_ARCHITECTURES` is not set, pass explicit flags to the
toolchain to use `arm64` instead of letting the toolchain pick.

Fixes: #20989
2020-09-30 11:58:44 -04:00
Marc Chevrier
e4b7049230 FindPython: Add version range support
Fixes: #21107
2020-09-30 14:30:23 +02:00
Craig Scott
f002c1cfc7 Merge topic 'find-package-check-empty-version-range'
212b0afb66 find_package: raise error on empty version range

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5294
2020-09-30 08:22:49 -04:00
Brad King
676571afe0 Merge topic 'cxx-as-objcxx'
8a2977ba55 OBJCXX: Fix regression for compiling cpp files as objcxx

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5296
2020-09-30 08:06:57 -04:00
Brad King
21b6b13956 Merge topic 'cuda-11.1-sm86'
5f6b0ba8b1 FindCUDA/select_compute_arch: Add CUDA 11.1 and SM86 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5292
2020-09-30 08:05:50 -04:00
Harini Chilamantula
5c3a93ab88 Intel: Add Intel Clang compiler identification
The compiler identifies itself with the `__INTEL_CLANG_COMPILER`
preprocessor definition.
2020-09-29 17:00:43 -04:00
Cristian Adam
8a2977ba55 OBJCXX: Fix regression for compiling cpp files as objcxx
In commit 8d61294c3e (PCH: Mark CMake PCH source files as -x
<lang>-header, 2020-09-04, v3.18.3~14^2) we removed the explicit `-x
objective-c++` flag.  This broke cases with custom source extensions.

Restore the explicit `-x objective-c[++]` flag and put it before the
`<FLAGS>` placeholder.  The latter will contain the proper `-x
objective-c[++]-header` value and will override the `-x objective-c[++]`
value set before.

Fixes: #21234
2020-09-29 12:35:49 -04:00
Marc Chevrier
212b0afb66 find_package: raise error on empty version range 2020-09-29 13:06:09 +02:00
Brad King
0021d24fb3 Merge topic 'add_lang_agnostic_check_compile_flag_module'
90dead024c CheckCompilerFlag: unified way to check compiler flags per language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5281
2020-09-29 05:45:07 -04:00
zasdfg bnm
5f6b0ba8b1 FindCUDA/select_compute_arch: Add CUDA 11.1 and SM86 support 2020-09-29 05:32:25 -04:00
Robert Maynard
90dead024c CheckCompilerFlag: unified way to check compiler flags per language 2020-09-28 09:07:54 -04:00
Brad King
20bd9c2674 Merge topic 'vs-generator-platform-install-prefix'
561d4b4a47 VS: Fix CMAKE_INSTALL_PREFIX with GENERATOR_PLATFORM for x64 and ARM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5272
2020-09-28 08:44:48 -04:00
Brad King
9e0da9ea2b Merge topic 'pkg_config_detailed_error'
ab8bd48352 FindPkgConfig: Search for pkg-config.bat file on a Windows host
3201dd521e FindPkgConfig: Show more info when pkg-config --version fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5273
2020-09-28 08:44:09 -04:00
Brad King
7fcd5d75f2 Merge topic 'FPHSA-fix-spurious-error'
1e82b1c4bc FPHSA: avoid spurious error if version variable is not defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5277
2020-09-28 08:41:02 -04:00
Brad King
99f92d55d6 Merge topic 'FindJNI-aarch64' into release-3.18
696d16ae6c FindJNI: Add aarch64 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vitaly Lipatov <lav@etersoft.ru>
Merge-request: !5275
2020-09-28 08:38:54 -04:00
Brad King
c47293fe9f Merge topic 'FindJNI-aarch64'
696d16ae6c FindJNI: Add aarch64 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vitaly Lipatov <lav@etersoft.ru>
Merge-request: !5275
2020-09-28 08:38:54 -04:00
Marc Chevrier
1e82b1c4bc FPHSA: avoid spurious error if version variable is not defined
Fixes: #21241
2020-09-25 19:35:11 +02:00
Rechi
561d4b4a47 VS: Fix CMAKE_INSTALL_PREFIX with GENERATOR_PLATFORM for x64 and ARM
Generate the same default `CMAKE_INSTALL_PREFIX` if a project is
configured with CMAKE_GENERATOR_PLATFORM (`cmake -G "Visual Studio
[...]" -A x64` and `cmake -G "Visual Studio [...]" -A ARM`) instead of
the prior CMake 3.1 way (`cmake -G "Visual Studio [...] Win64"` and
`cmake -G "Visual Studio [...] ARM"`).
2020-09-25 13:11:14 -04:00
Brad King
f0592b3497 Merge topic 'cuda_clang_separable'
c63fe01835 CUDA: Clang separable compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5221
2020-09-25 12:25:30 -04:00
Brad King
c6c90b4207 Merge topic 'clang-llvm-lib' into release-3.18
f5d3da091b Clang: Look for llvm-lib when using MSVC-like front-end

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Thomas Bernard <thomas@famillebernardgouriou.fr>
Merge-request: !5264
2020-09-25 12:23:02 -04:00
Brad King
0453342cda Merge topic 'clang-llvm-lib'
f5d3da091b Clang: Look for llvm-lib when using MSVC-like front-end

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Thomas Bernard <thomas@famillebernardgouriou.fr>
Merge-request: !5264
2020-09-25 12:23:02 -04:00
Brad King
696d16ae6c FindJNI: Add aarch64 support
Extend the fix from commit 44dffbcc94 (FindJNI: Add arm64 support,
2020-08-25, v3.18.3~21^2) to cover the `aarch64` name too.

Fixes: #21237
2020-09-25 12:04:34 -04:00
Alexandru Croitor
ab8bd48352 FindPkgConfig: Search for pkg-config.bat file on a Windows host
The strawberry perl distribution ships a pkg-config file and a
pkg-config.bat file.

find_program() does not usually look for a .bat file program unless
explicitly specified in the NAMES argument. This would cause
CMake to find the non-bat file, and executing that with
execute_process() leads to a
'%1 is not a valid Win32 application' error.

Prefer to search for pkg-config.bat file when on a Windows host, in
additiona to the regular pkg-config file.

Fixes: #21239
2020-09-25 15:56:05 +02:00
Alexandru Croitor
3201dd521e FindPkgConfig: Show more info when pkg-config --version fails
Fixes: #21239
2020-09-25 15:49:18 +02:00
Shoaib Meenai
f5d3da091b Clang: Look for llvm-lib when using MSVC-like front-end
In commit 55196a1440 (MSVC: Use 'lib' instead of 'link /lib' to create
static libraries, 2020-01-10, v3.18.0-rc1~625^2) we changed CMake to use
lib instead of `link /lib` to create static libraries, but it didn't
search for `llvm-lib`. If you have `llvm-lib` but not `lib` (e.g. when
cross-compiling), when `CMakeFindBinutils` is invoked for the `C` and
`CXX` languages, `CMAKE_AR` is not found. When it's subsequently invoked
for the ASM language, `CMAKE_ASM_SIMULATE_ID` and
`CMAKE_ASM_COMPILER_FRONTEND_VARIANT` are not set (because
`CMakeDetermineASMCompiler` doesn't call `CMAKE_DETERMINE_COMPILER_ID`,
which sets those variables), so we go down the non-MSVC conditional and
set `CMAKE_AR` to a GNU-style `ar`, which of course does not understand
lib flags. Explicitly search for `llvm-lib` to avoid this situation.
2020-09-24 15:37:24 -04:00
Raul Tambre
c63fe01835 CUDA: Clang separable compilation
For NVCC the compiler takes care of device linking when passed the "-dlink"
flag.
Clang doesn't support such magic and requires the buildsystem to do the work
that NVCC does behind the scenes.

The implementation is based on Bazel's device linking documentation:
7cabcdf073/third_party/nccl/build_defs.bzl.tpl (L259)

Closes: #20726
2020-09-24 15:19:54 -04:00
Brad King
7b38161ca1 Merge topic 'check-source-modules'
357e2ef429 CheckSoureRuns: Add a unified way to check if a source runs
10ae907de0 CheckSoureCompiles: Add a unified way to check if a source compiles
f5c928f73c Add a test to verify '\' handling in CHECK_CXX_SOURCE_COMPILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Merge-request: !5223
2020-09-24 15:12:59 -04:00
Brad King
17696a0c32 Merge topic 'FindPython-fix-regex'
6c094c1c1e FindPython: Fix erroneous regex in ABI check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5257
2020-09-24 15:08:52 -04:00
Craig Scott
ac5195c408 Merge topic 'find_package-version-range'
5b3356263c CMakePackageConfigHelpers: Add version range support
6bfc442fde FPHSA: add support of version range
d7df81067b find_package: Add support of version range
09095dbcd2 cmFindPackageCommand: Refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Michael Hirsch, Ph.D. <michael@scivision.dev>
Merge-request: !5226
2020-09-24 07:29:03 -04:00
Brad King
d787dd2277 Merge topic 'intel-dpcpp'
887f3a88a6 Intel: Add Intel DPC++ compiler identification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5255
2020-09-23 15:13:01 -04:00
Robert Maynard
357e2ef429 CheckSoureRuns: Add a unified way to check if a source runs 2020-09-23 12:28:37 -04:00
Robert Maynard
10ae907de0 CheckSoureCompiles: Add a unified way to check if a source compiles 2020-09-23 12:28:37 -04:00
Marc Chevrier
6c094c1c1e FindPython: Fix erroneous regex in ABI check
A regex added by commit 6fdfe2428d (FindPython: enhance ABI checks
against include directory, 2020-09-02, v3.18.3~17^2) was missing a
backslash.

Fixes: #21223
2020-09-23 11:37:20 -04:00
Marc Chevrier
5b3356263c CMakePackageConfigHelpers: Add version range support 2020-09-23 12:52:25 +02:00
Marc Chevier
6bfc442fde FPHSA: add support of version range 2020-09-23 12:52:25 +02:00
Harini Chilamantula
887f3a88a6 Intel: Add Intel DPC++ compiler identification
The compiler identifies itself with the `__INTEL_DPCPP_COMPILER__`
preprocessor definition.
2020-09-22 15:20:03 -04:00
Brad King
ae41216878 FindProtobuf: Link to threads dependency only when Protobuf is found
Since commit 03454b0d0d (FindProtobuf: Add missing link dependencies on
threads, 2018-10-31, v3.13.0-rc3~10^2) we add the threads library to the
list of libraries needed for Protobuf.  Update the logic to do this only
when a real protobuf library is actually found.

Fixes: #21161
2020-09-22 08:49:22 -04:00
Brad King
2c896c381b Merge topic 'comp-ti-std-options'
6a66bb13ed Compiler/TI: Add std options for C++14
fe9cddf181 Compiler/TI: Add std options for C++98
55fc045aa8 Compiler/TI: Add std options for C11
2e69993101 Compiler/TI: Check default C standard
8300030f71 Compiler/TI: Check compiler version for C99 support
0b4582f229 Compiler/TI: Fix definition of std options
a70df0d6f0 Compiler/TI: Avoid generic variable name in macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5249
2020-09-22 07:48:24 -04:00
Brad King
674d394515 Merge topic 'findthreads_missing_prototype'
6ef64013ba FindThreads: Add missing static keyword in pthread test code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !5241
2020-09-22 07:42:39 -04:00