Commit Graph

13432 Commits

Author SHA1 Message Date
Brad King
cbc14b036a Merge topic 'msvc-llvm-mt'
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8706
2023-08-17 10:26:08 -04:00
Brad King
5d41ed9737 Merge topic 'ExternalProject-build-jobserver'
bc43398e72 ExternalProject: Enable Make Job Server with Explicit Build Command
99be022428 Tests/RunCMake/Make: simplify GNUMakeJobSeverAware check function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8667
2023-08-16 09:59:27 -04:00
ur4t
3c0f701990 MSVC: Run manifest tool with llvm-mt compatible arguments
Default use of `llvm-mt` was disabled by commit 73d0d4e4b5 (BinUtils:
Avoid llvm-mt because it is missing 'mt' features we use, 2022-03-08,
v3.23.0-rc3~7^2).  However, it can still be specified explicitly by the
user.  Due to limitations of LLVM's command line option parser, llvm-mt
does not support arbitrary manifest files following a single switch.

Issue: #23305
2023-08-16 09:52:57 -04:00
Brad King
04f2c4b199 Merge topic 'clang_c23'
65288eb92a Clang: use -std=c23 for Clang 18+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8716
2023-08-16 09:44:48 -04:00
Brad King
ab379e5054 Merge topic 'FindPython-3.13'
dfab044c44 FindPython: add support for Python 3.13

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8712
2023-08-16 09:42:53 -04:00
Raul Tambre
65288eb92a Clang: use -std=c23 for Clang 18+
Canonical flag changed in LLVM commit 13629b140801870feff855ca168edf6b34dbef8d.
2023-08-15 09:43:48 -04:00
Vasily Ryabov
dfab044c44 FindPython: add support for Python 3.13
Python 3.13.0a0 can be built from main branch of python/cpython though
there were no official releases yet.
2023-08-15 09:39:43 -04:00
Brad King
969b07ba8e Merge topic 'TAPI-is-Apple-only'
8b0f0dc257 Apple Text Stubs (.tbd): various fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8708
2023-08-15 09:35:08 -04:00
Brad King
d1130ea704 Merge topic 'FindJNI-no-xcode'
597139b853 FindJNI: Restore support for macOS without Xcode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8707
2023-08-15 09:34:16 -04:00
Chris Mahoney
bc43398e72 ExternalProject: Enable Make Job Server with Explicit Build Command
Introduces `BUILD_JOB_SERVER_AWARE` option to `ExternalProject_Add` and
`JOB_SERVER_AWARE` to `ExternalProject_Add_Step`. When using an explicit
`BUILD_COMMAND` or `COMMAND`, the generated commands won't use `$(MAKE)`
thus failing to connect to the outer make's job server. These new
options enable explicit job server integration.

Co-authored-by: Brad King <brad.king@kitware.com>

Fixes: #16273
2023-08-15 12:21:30 +00:00
Brad King
cc5234b03e Merge topic 'nvcc-std-flags'
2c6fe64876 NVIDIA-CUDA: Factor out helper for NVCC C++ standard flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8705
2023-08-11 10:34:38 -04:00
Marc Chevrier
8b0f0dc257 Apple Text Stubs (.tbd): various fixes
* ensure tapi lookup is applied only for concerned toolchains
* fix typos in tests

Fixes: #25182
2023-08-11 16:30:02 +02:00
Brad King
597139b853 FindJNI: Restore support for macOS without Xcode
Fix logic added by commit efa0e2ddaf (FindJNI: Update for Xcode greater than
12.1 on macOS, 2023-08-06, v3.27.2~5^2) to tolerate missing `xcodebuild`.

Fixes: #25181
2023-08-11 10:15:44 -04:00
Brad King
2c6fe64876 NVIDIA-CUDA: Factor out helper for NVCC C++ standard flags
These standard flags will be the same for other C++-derived languages
supported by nvcc.  Follow the pattern from commit 25439c7d62 (Clang:
Refactor CXX standard flags ..., 2020-03-16, v3.18.0-rc1~362^2~4) to
factor them into a single macro so we can easily reuse them.

Issue: #25143
2023-08-10 16:31:58 -04:00
Brad King
ec1e372953 HIP: Limit compiler id candidates to those supporting HIP
Currently we only support using Clang for HIP.

Issue: #25143
2023-08-10 16:30:41 -04:00
Brad King
6b21d2bc9b Merge topic 'FindPython-MINGW-support'
d6b9af5f91 FindPython: enhance MinGW support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8687
2023-08-08 10:11:26 -04:00
Brad King
75783213e3 Merge topic 'FindJNI-xcode-12.2'
efa0e2ddaf FindJNI: Update for Xcode greater than 12.1 on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8690
2023-08-08 09:52:26 -04:00
Christian Oyarzun
efa0e2ddaf FindJNI: Update for Xcode greater than 12.1 on macOS
`JavaVM.framework` was removed from Xcode in version 12.2+.

Fixes: #23364
2023-08-07 16:09:22 -04:00
Brad King
efb21962fb Merge topic 'cxxmodules-try-compile'
be53c75852 cmExperimental: recycle the C++ modules API UUID
deb1c3cbd5 cmCoreTryCompile: forward module-related binutils variables
b768d293c5 cmCoreTryCompile: use the source type context for source files
93993c7ad4 cmArgumentParser: support storing a context value with parsing
c9ca5f6326 cmCoreTryCompile: parse `SOURCES_TYPE` argument
07551f35de cmCoreTryCompile: use `target_sources` for `try_compile` targets
aad9033b56 cmExperimental: support forwarding associated variables to `try_compile`
f6cf433256 cmExperimental: only forward C++ module support to non-ABI checks
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8639
2023-08-07 11:57:00 -04:00
Marc Chevrier
d6b9af5f91 FindPython: enhance MinGW support
Ensure python-config script can be used.
2023-08-05 14:23:43 +02:00
Rick Budé
34ca0178ae FindwxWidgets: Fix returning optional components
Fixes: #25150
2023-08-02 10:15:02 -04:00
Brad King
40f25113af Merge topic 'doc_ep'
c949a8742e ExternalProject: Add option subsection anchors for accessibility from TOC
6828b9df5a Help/dev: Extend documentation guide with another section nesting level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8657
2023-08-01 09:27:02 -04:00
Brad King
653754794a Merge topic 'FindPython-Debian-workaround'
b02f3872d0 FindPython: Restore Python_SITE* values for versions below 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8672
2023-08-01 09:22:31 -04:00
Marc Chevrier
b02f3872d0 FindPython: Restore Python_SITE* values for versions below 3.10
Debian based distributions have a buggy sysconfig package.
So, rely on distutils.sysconfig if python version is less than 3.10.

Fixes: #25135
2023-07-31 15:00:44 -04:00
Ben Boeckel
04300579dd Modules/Internal/FeatureTesting: mark feature testing as a special test 2023-07-31 11:37:47 -04:00
scivision
c949a8742e ExternalProject: Add option subsection anchors for accessibility from TOC
Use RST subsections for each major step of `ExternalProject_Add()`.
This makes finding options easier with less scrolling.
For example, finding important Download vs. Test options etc.

Fixes: #25129
2023-07-31 11:21:10 -04:00
Brad King
13d78bbf16 CheckLanguage: Document that CMAKE_CUDA_HOST_COMPILER should not be set alone
Follow up commit 7968d9d442 (Help: Document CMAKE_CUDA_HOST_COMPILER as
specific to NVIDIA nvcc, 2020-07-14, v3.19.0-rc1~501^2) with an explicit
note in `CheckLanguage`.

Issue: #25093
2023-07-31 10:46:00 -04:00
Brad King
cfd92dece3 CheckLanguage: Modernize documentation formatting 2023-07-31 10:45:57 -04:00
Brad King
33b43757db Merge topic 'findcuda_mark_stub_libraries_as_no_rpath'
0744c02e24 FindCUDAToolkit: targets pointing to stubs now use IMPORTED_IMPLIB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8649
2023-07-26 10:21:18 -04:00
Kyle Edwards
f73a5bfaa9 UsePkgConfig: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
17bab9e709 FindwxWindows: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
13f7ae2878 FindQt: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
31cab35bb6 FindFLTK2: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Kyle Edwards
ec155433ed FindFLTK: Replace exec_program() with execute_process() 2023-07-24 17:23:32 -04:00
Robert Maynard
0744c02e24 FindCUDAToolkit: targets pointing to stubs now use IMPORTED_IMPLIB
This ensures that we don't add rpath entries to the stubs directory
which would cause runtime loading of the wrong libraries.
2023-07-24 14:56:28 -04:00
Brad King
6194193a8a Merge topic 'file-REAL_PATH-relative'
6b5f2dbbfe file(REAL_PATH): resolve symlinks before '..' components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8605
2023-07-24 08:43:19 -04:00
Brad King
5051340916 Merge topic 'FindOpenSSL-trust-root-dir'
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8643
2023-07-21 09:37:29 -04:00
Brad King
3ea7204de4 Merge topic 'FindOpenSSL-trust-root-dir' into release-3.27
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8643
2023-07-21 09:37:28 -04:00
Brad King
32174571e9 Merge topic 'FindCUDAToolkit-libnvrtc-builtins'
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8642
2023-07-21 09:35:10 -04:00
Brad King
b4693ea408 Merge topic 'FindCUDAToolkit-libnvrtc-builtins' into release-3.27
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8642
2023-07-21 09:35:09 -04:00
Robert Maynard
6b5f2dbbfe file(REAL_PATH): resolve symlinks before '..' components
Previously REAL_PATH would collapse paths before resolving any symlinks
so if `..` crossed a symlink the output from `REAL_PATH` would be wrong.

It looked like REAL_PATH did this by mistake since it was a side-effect
of ensuring we had an absolute path before resolving symlinks.
2023-07-20 17:02:58 -04:00
Brad King
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty
Since commit 5cc8a69867 (FindOpenSSL: Trust the user's OPENSSL_ROOT_DIR,
2023-05-17, v3.27.0-rc1~71^2) we use `OPENSSL_ROOT_DIR` whenever it is
defined, even if it is an empty string.  This breaks a pattern in
existing projects that define an empty `OPENSSL_ROOT_DIR` cache entry so
that `cmake-gui` users can fill it in.  Use the value only if non-empty.

Issue: #18352
2023-07-20 12:18:13 -04:00
Tomoharu Kitawaki
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name
The lib is named `libnvrtc-builtins.so`, not `libnvrtc_builtins.so`.

Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support
for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2).  Apply a fix
similar to commit 9688a8ebc2 (FindCUDAToolkit: Fix
`nvrtc_builtins_static` library name, 2023-02-03, v3.26.0-rc2~15^2).
2023-07-20 11:34:47 -04:00
Brad King
ee6335f75f Merge topic 'windows-kernel-mode-driver'
b01f5eb079 Windows: Add experimental WindowsKernelModeDriver platform
d84681d8f0 try_compile(): Pass down CMAKE_EXPERIMENTAL_* feature flags
1ca82e7a04 cmake_language(): Add undocumented GET_EXPERIMENTAL_FEATURE_ENABLED mode
051cea7b7e cmExperimental: Expose feature data API

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8634
2023-07-19 10:41:22 -04:00
Brad King
e4819c3a7a Merge topic 'armclang-update-version-computation'
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8636
2023-07-18 13:48:50 -04:00
Brad King
a881ae61f1 Merge topic 'armclang-update-version-computation' into release-3.27
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8636
2023-07-18 13:48:49 -04:00
Daniel Brondani
65fac2fa35 ARMClang: Fix computation of compiler semantic version patch level
According to ARMClang documentation 6.20, the patch version number
should not include the last two digits of `__ARMCOMPILER_VERSION`,
which are reserved for internal use by ARM.
2023-07-18 13:29:01 -04:00
Kyle Edwards
b01f5eb079 Windows: Add experimental WindowsKernelModeDriver platform 2023-07-17 16:54:10 -04:00
Brad King
08cdc91c09 Merge topic 'FindProtobuf-version-schemes'
6e90d79577 FindProtobuf: Fix new version number scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8629
2023-07-14 11:03:10 -04:00
Jannik Beyerstedt
6e90d79577 FindProtobuf: Fix new version number scheme
Revise the changes from commit fc7dcc6a24 (FindProtobuf: Support new
version number scheme, 2023-06-19, v3.27.0-rc3~2^2).  Changing the
content of `Protobuf_VERSION` to exclude the major version of the library
might break code as it can't be used to detect breaking changes in the
library any more.

However, protoc v22 and up don't print the major version any more, so we
need to compare the against a truncated version number, too.
2023-07-14 09:34:13 -04:00