Commit Graph

50004 Commits

Author SHA1 Message Date
vvs31415
c88dde2869 cmGeneratorTarget: internal refactoring 2020-09-28 10:37:25 -07:00
Brad King
1b03ac7da7 Merge topic 'ci-cxx11'
a258283160 ci: convert one build to cover strict C++11 usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5285
2020-09-28 09:39:53 -04:00
Brad King
a258283160 ci: convert one build to cover strict C++11 usage
Without this, we do not cover compilation with only C++11 until nightly
testing, at which point many builds require it, and failures block
merging anything that was staged.
2020-09-28 09:23:31 -04:00
Kyle Edwards
071755c3ef Merge topic 'cmake-gui-slot-connections'
ab8f6fdd8c CMake GUI: Modernize signal-slot connections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5278
2020-09-28 09:01:47 -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
c442c59757 Merge topic 'xcode-restore-ios-tests'
2092ab08fe xcode: conditionally enable combined install tests
62ce9e16e0 xcode: annotate test output with selected SDK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5271
2020-09-28 08:41:47 -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
13e0a0d74e Merge topic 'libuv-qnx'
f9e950d4c5 libuv: Add support for building for QNX within CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5200
2020-09-28 08:39:54 -04:00
Brad King
b050fe532f Merge branch 'release-3.18' 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
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
Kitware Robot
97626b1dec CMake Nightly Date Stamp 2020-09-28 00:01:22 -04:00
Kyle Edwards
ab8f6fdd8c CMake GUI: Modernize signal-slot connections
Qt5 supports passing function pointers to QObject::connect(), and
prefers this over SIGNAL() and SLOT(). Modernize the connections,
stop using a deprecated signal from QComboBox, and modernize a few
QKeySequence's.
2020-09-27 12:06:54 -04:00
Kitware Robot
558ce94016 CMake Nightly Date Stamp 2020-09-27 00:01:10 -04:00
Kitware Robot
f68a21dc5c CMake Nightly Date Stamp 2020-09-26 00:01:12 -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
7a4d84d8d2 Merge topic 'find_package_module_mode_print_debug_message'
b423a20ce1 FindPackage: Provide better debug message when <PKG_FOUND> is false
a7acafc977 FindPackage: find_package(MODULE) respects CMAKE_FIND_DEBUG_MODE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5256
2020-09-25 12:26:10 -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
7b4861b082 Merge topic 'xcode-12-new-build-system'
0a67c3ebe1 Xcode: Remove dependency Makefile hacks under the "new build system"
c6c7f6fbeb Xcode: Remove remnants of ancient XCODE_DEPEND_HELPER utility target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5267
2020-09-25 12:23:48 -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
ef26161bae Merge branch 'release-3.18' 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
627fb15eaa Merge topic 'linux-_FILE_OFFSET_BITS-64'
5b10f96793 Linux: Compile with _FILE_OFFSET_BITS=64 on 32-bit Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !5258
2020-09-25 12:21:07 -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
Elad Lahav
f9e950d4c5 libuv: Add support for building for QNX within CMake 2020-09-25 11:53:44 -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
Gregor Jasny
2092ab08fe xcode: conditionally enable combined install tests
The new Xcode 12 build system does not support recursive
invocation. Therefore lazily triggered builds for the
corresponding platform which run during the `install` target
fail with:

```
error: unable to attach DB: error: accessing build database
```

While looking for a work-around we conditionally disable those
tests.

Issue: #21206
2020-09-25 09:38:30 +02:00
Gregor Jasny
62ce9e16e0 xcode: annotate test output with selected SDK 2020-09-25 09:30:17 +02:00
Kitware Robot
0cd1ef0932 CMake Nightly Date Stamp 2020-09-25 00:01:17 -04: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
c98ec731f9 Merge topic 'update-libuv'
7a0506bafe libuv: Suppress conversion warning on Windows
2269ad6a0a libuv: Add fs_copy stub to cmake-bootstrap.c
e21325c2c6 Merge branch 'upstream-libuv' into update-libuv
c1463f959f libuv 2020-09-22 (ed5b42d5)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5259
2020-09-24 15:16:28 -04:00
Brad King
0436f70f80 Merge topic 'zstd-1.4.5'
2ca54e7179 zstd: version 1.4.5 update
0b3e9259dd Merge branch 'upstream-zstd'
4676ad8c32 zstd 2020-05-21 (b706286a)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5260
2020-09-24 15:15:55 -04:00
Brad King
0ff74958f4 Merge topic 'cmake-gui-tests'
1dcc569828 gitlab-ci: Add GUI testing to each OS
4c6e5cd0fa Tests: Add some basic tests for CMake GUI
41e223deb3 CMake GUI: Split up into libraries, add test shim
b7995b62f0 QCMakeCacheView: Default to nullptr for parent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5224
2020-09-24 15:15:19 -04:00
Brad King
4ae8cc7f0b Merge topic 'proper_device_libraries_architecture'
1cd4a37c12 Tests: Use sm_35 in Cuda.ProperDeviceLibraries for CUDA <10.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5261
2020-09-24 15:14:18 -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
9aa93937f9 Merge topic 'obj-lib-per-config-source'
2f76e7429b OBJECT libraries: Properly recognize if sources depend on configuration
d575ecc9de cmGeneratorTarget: Better name for internal variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5252
2020-09-24 15:10:04 -04:00
Brad King
4981b509ef Merge branch 'release-3.18' 2020-09-24 15:08:53 -04:00
Brad King
d031b7b044 Merge topic 'FindPython-fix-regex' into release-3.18
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
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
Brad King
0a67c3ebe1 Xcode: Remove dependency Makefile hacks under the "new build system"
The original Xcode build system did not properly re-link targets that consumed
object libraies.  We worked around that with a post-build command on the object
libraries themselves that removed their consumers if out of date.  The "new
build system" does not appear to need such help, so drop the workaround.
2020-09-24 14:53:28 -04:00
Brad King
c6c7f6fbeb Xcode: Remove remnants of ancient XCODE_DEPEND_HELPER utility target
The target has not been generated since commit d92d51429e (BUG: fix for bug
6193, fix xcode depend helper, 2008-01-10, v2.6.0~553).  Remove it from
the list of special targets.
2020-09-24 14:53:22 -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
Kitware Robot
d18c564210 CMake Nightly Date Stamp 2020-09-24 00:01:12 -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
Raul Tambre
1cd4a37c12 Tests: Use sm_35 in Cuda.ProperDeviceLibraries for CUDA <10.0
Using the cublas device libraries seems to require at least sm_35.
Set the architecture explicitly to sm_35 for old CUDA versions, which still
have the cublas device library.
2020-09-23 21:29:21 +03:00
Marc Chevrier
5b10f96793 Linux: Compile with _FILE_OFFSET_BITS=64 on 32-bit Linux
To avoid problems accessing filesystem, use 64-bit file offsets when
compilation model is 32-bit.  This explicit definition is needed now
that KWSys does not provide LFS settings in its headers anymore.

Fixes: #20568
2020-09-23 14:25:30 -04:00