Commit Graph

10982 Commits

Author SHA1 Message Date
Luthaf
d66858c8e4 CheckCompilerFlag: Update the regex used to detect invalid options for GCC 10
The warning emmitted by GCC for invalid options have been updated to
read "command-line option XXX is valid ..." instead of "command line
option XXX is valid ...".  Update the regex to make it valid with both
the old and new warning message.

Fixes: #21275
2020-10-06 10:38:18 -04:00
Brad King
691cff7c01 Merge topic 'boost-1.74.0'
0d86bb0902 FindBoost: Add 1.74 to known versions
1940e24d58 FindBoost: Prevent warning with boost 1.74

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5319
2020-10-06 06:49:59 -04:00
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
Olivier LIESS
0d86bb0902 FindBoost: Add 1.74 to known versions 2020-10-04 22:07:45 +02:00
Olivier LIESS
1940e24d58 FindBoost: Prevent warning with boost 1.74 2020-10-04 22:05:47 +02: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