Commit Graph

13228 Commits

Author SHA1 Message Date
Brad King
fb37de96a0 Merge topic 'remove-FindPythonInterp-FindPythonLibs'
a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8380
2023-03-31 08:08:18 -04:00
Brad King
be3c564f8c Merge topic 'binutils-strip-macos'
ac2562afb3 BinUtils: Avoid llvm-strip on Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8372
2023-03-31 08:01:16 -04:00
Brad King
a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules
The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated
since CMake 3.12.  Add a policy to pretend they do not exist in order to
encourage projects to port to `FindPython` or `FindPython{2,3}`.
2023-03-30 12:05:09 -04:00
Brad King
1d1ee2b049 Merge topic 'ci-FindHDF5'
d38c752de2 ci: Enable FindHDF5 tests on Linux builds
28c4945a8a ci: Add HDF5 to Debian and Fedora base images
ad9e151045 Tests: Add cases covering FindHDF5 variables and imported targets
0e87e6c1a4 Tests: Add FindMPI test environment modification option
ee075a53c8 FindHDF5: Record compiler wrapper checks to configure log
72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8378
2023-03-30 07:22:17 -04:00
Brad King
ac2562afb3 BinUtils: Avoid llvm-strip on Apple platforms
Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we prefer `llvm-strip` over
`strip` when using Clang.  However, `llvm-strip` seems to produce
unusable binaries in cases involving chained fixups.  Prefer Apple's
`strip` over `llvm-strip` on `APPLE` platforms.

We still need to consider `llvm-strip` as a fallback as explained for
`llvm-ar` by commit fee36b7a78 (BinUtils: Restore llvm-ar fallback on
Apple platforms, 2022-03-15, v3.23.0-rc4~12^2).

Issue: #24601
2023-03-30 07:14:07 -04:00
Brad King
2f3ba93102 Merge topic 'FindOpenAL-framework'
f05bd762f5 ci: Enable FindOpenAL test on macOS jobs
1d06554fc6 Tests: Fix FindOpenAL test for macOS framework
5f5476ee31 FindOpenAL: Fix imported target for macOS framework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8373
2023-03-30 06:57:10 -04:00
Brad King
ee075a53c8 FindHDF5: Record compiler wrapper checks to configure log 2023-03-29 17:18:29 -04:00
Brad King
72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path
Some HDF5 compiler wrappers do not support source file paths that
contain spaces.  Pass source files to them using a file name in the
current working directory to avoid spaces.
2023-03-29 17:18:29 -04:00
nega
5f5476ee31 FindOpenAL: Fix imported target for macOS framework
If a framework is found, specify it through `INTERFACE_LINK_LIBRARIES`
because `IMPORTED_LOCATION` requires a file and not a framework
directory.
2023-03-29 13:31:48 -04:00
Brad King
d79237a580 Merge topic 'swift-old-driver'
006e1995eb Swift: Restore compatibility with old C++ driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8365
2023-03-29 09:13:33 -04:00
YR Chen
006e1995eb Swift: Restore compatibility with old C++ driver
The `-wmo` flag added by commit 6063428de7 (Swift: Update default build
flags, 2022-10-03, v3.26.0-rc1~585^2~1) behaves differently with the old
driver.  Detect when the old driver is being used, and avoid adding that
flag.

Fixes: #24641
2023-03-28 10:02:05 -04:00
Brad King
3beeca8e36 Merge topic 'FindPython-Windows-ARM'
9913c28ebb FindPython: Add Windows/ARM support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: David Lechner <david@lechnology.com>
Merge-request: !8354
2023-03-28 08:15:14 -04:00
Brad King
2deb22e160 Merge topic 'crosscompiling-warn-reset'
4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8358
2023-03-27 09:53:53 -04:00
Marc Chevrier
9913c28ebb FindPython: Add Windows/ARM support
Fixes: #24587
2023-03-26 10:58:12 +02:00
Martin Storsjö
4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set
Also clarify the `CMAKE_CROSSCOMPILING` documentation to state that
CMake sets the variable automatically.
2023-03-24 11:57:01 -04:00
Brad King
3a9613d28f Merge topic 'ibmclang-aix-thin-lto'
79622d4a3e IBMClang: No thin LTO on AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rob Boehne <robb@datalogics.com>
Merge-request: !8357
2023-03-24 09:36:45 -04:00
Nicole Rabjohn
79622d4a3e IBMClang: No thin LTO on AIX
AIX does not yet support thin LTO.
2023-03-23 11:46:17 -04:00
Brad King
7ef184f726 Merge topic 'FindHDF5-CXX-without-C'
a6bb4975ab FindHDF5: Restore parallel HDF5 detection with only CXX enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8355
2023-03-23 08:42:54 -04:00
Brad King
a6bb4975ab FindHDF5: Restore parallel HDF5 detection with only CXX enabled
Since commit 14c46fb16a (FindHDF5: Find C component with only CXX
compiler, 2022-12-13, v3.26.0-rc1~175^2), if CXX is enabled but C is
not, the `_HDF5_test_regular_compiler_C` helper writes a `.cpp` source
but the `_HDF5_invoke_compiler` still expects a `.c` source.  Refactor
the logic to select a name for the source file up front, and use it in
both helpers.

Fixes: #24627
Issue: #24241
2023-03-22 11:50:18 -04:00
Brad King
fb767b8910 Merge topic 'FindCUDATooklit-mark-as-advanced'
9be0063d98 FindCUDAToolkit: mark a few variables as advanced

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8343
2023-03-21 09:03:24 -04:00
Brad King
ca8c171021 Merge topic 'clang-windows-cxx-modules'
1b7c26da49 Ninja: Wrap rules using '>' shell redirection with 'cmd /C' on Windows
ffd8537acf Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end
6013227230 cmGlobalNinjaGenerator: Use forward slashes in clang modmap format on Windows
d9d74b5e8a cmDyndepCollation: Drop outdated mentions of CXX_MODULE_INTERNAL_PARTITIONS
edab56d29a cmLocalNinjaGenerator: De-duplicate condition for using 'cmd /C' on Windows
8ebe3f92b3 cmGlobalNinjaGenerator: Detect GNU-like command-line for dyndep collator
f3ca199c9b cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows
f79817fcf0 cmCxxModuleMapper: Use value semantics in path conversion callback
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8346
2023-03-21 08:58:43 -04:00
Brad King
15a86d45d1 Merge topic 'clang-windows-cxx-modules' into release-3.26
1b7c26da49 Ninja: Wrap rules using '>' shell redirection with 'cmd /C' on Windows
ffd8537acf Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end
6013227230 cmGlobalNinjaGenerator: Use forward slashes in clang modmap format on Windows
d9d74b5e8a cmDyndepCollation: Drop outdated mentions of CXX_MODULE_INTERNAL_PARTITIONS
edab56d29a cmLocalNinjaGenerator: De-duplicate condition for using 'cmd /C' on Windows
8ebe3f92b3 cmGlobalNinjaGenerator: Detect GNU-like command-line for dyndep collator
f3ca199c9b cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows
f79817fcf0 cmCxxModuleMapper: Use value semantics in path conversion callback
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8346
2023-03-21 08:58:42 -04:00
Brad King
2cdb0bae28 Merge topic 'clang-cl-showIncludes'
843fc607de Ninja: Restore detection of clang-cl showIncludes prefix
3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8344
2023-03-21 08:57:35 -04:00
Brad King
90d90a5d91 Merge topic 'clang-cl-showIncludes' into release-3.26
843fc607de Ninja: Restore detection of clang-cl showIncludes prefix
3346570ae9 Tests: Comment RunCMake.Ninja ShowIncludes sample input languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8344
2023-03-21 08:57:34 -04:00
Brad King
4b9bf10c4d Merge topic 'FindPython-SOSABI-handling'
8a71c88d4d Merge branch 'backport-3.26-FindPython-SOSABI-handling'
4c902d675b FindPython: ensure Stable ABI is correctly handled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8345
2023-03-21 08:56:07 -04:00
Brad King
ffd8537acf Clang: Record Clang 16.0 C++ modules flags only for GNU-like front-end
The settings added by commit 3fe8e33f27 (Clang: Record Clang 16.0 flags
for our experimental C++ modules support, 2023-03-03, v3.26.0-rc6~6^2)
work only for the GNU-like `clang++` front-end, and not for the
MSVC-like `clang-cl` on Windows.

Also quote the path to `clang-scan-deps` to support spaces in its path.

Issue: #24611
2023-03-20 13:13:08 -04:00
YR Chen
843fc607de Ninja: Restore detection of clang-cl showIncludes prefix
Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes
prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer
matches the output from `clang-cl`, which uses a relative path, forward
slashes, and is always in English [1]:

    Note: including file: ./foo.h

Update the regex to match that too.

[1] https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0/clang/lib/Frontend/HeaderIncludeGen.cpp#L102

Co-authored-by: Brad King <brad.king@kitware.com>
2023-03-20 10:08:25 -04:00
Brad King
8a71c88d4d Merge branch 'backport-3.26-FindPython-SOSABI-handling' 2023-03-20 08:11:56 -04:00
Marc Chevrier
4c902d675b FindPython: ensure Stable ABI is correctly handled
Fixes: #24610
2023-03-20 08:10:53 -04:00
Brad King
301279e4a9 Help: Replace link with its permanent redirect 2023-03-18 08:46:12 -04:00
Andrey Alekseenko
9be0063d98 FindCUDAToolkit: mark a few variables as advanced
- CUDAToolkit_BIN_DIR (was already "advanced" sometimes)
- CUDAToolkit_CUPTI_INCLUDE_DIR
2023-03-18 00:55:24 +01:00
Brad King
6741acdeb4 Merge topic 'iar-version-correction'
9df52c7f1c IAR: Version update for arm assembler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8332
2023-03-17 08:07:13 -04:00
Brad King
f99c6076ac Merge topic 'FindCUDA-mark-option-as-advanced'
eb86afebc4 FindCUDA: Mark CUDA_rt_LIBRARY as advanced

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8333
2023-03-17 08:06:39 -04:00
Brad King
e5d5ff1a91 Merge topic 'recognize-f03-f08-extensions'
18f585e371 Fortran: Recognize f03, F03, f08 and F08 as extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8330
2023-03-17 08:05:53 -04:00
Brad King
2cbf5a26a7 Merge topic 'CMakePackageConfigHelpers-ARCH_INDEPENDENT'
6988ddf8ac WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8337
2023-03-17 07:54:17 -04:00
Brad King
5e5a21aadd Merge topic 'CMakePackageConfigHelpers-ARCH_INDEPENDENT' into release-3.26
6988ddf8ac WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8337
2023-03-17 07:54:16 -04:00
Brad King
6aa58ebaba Merge topic 'FindMatlab-R2023a'
58ab34d88a FindMatlab: add version/release map for R2023a

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8334
2023-03-17 07:46:54 -04:00
Brad King
6988ddf8ac WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT check
Refactoring in commit 77982de955 (CMakePackageConfigHelpers: only emit
arch check if needed, 2023-01-29, v3.26.0-rc1~16^2) did not correctly
preserve the check for empty `CMAKE_SIZEOF_VOID_P`.  Fix it.

The difference between the version files generated before and after is:

    -if(CMAKE_SIZEOF_VOID_P STREQUAL "" OR "8" STREQUAL "")
    +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")

This restores the check generated before the above-mentioned commit.

Fixes: #24608
2023-03-16 11:26:10 -04:00
scivision
58ab34d88a FindMatlab: add version/release map for R2023a 2023-03-16 11:08:05 -04:00
Andrey Alekseenko
eb86afebc4 FindCUDA: Mark CUDA_rt_LIBRARY as advanced 2023-03-16 14:52:52 +01:00
Tarun Prabhu
18f585e371 Fortran: Recognize f03, F03, f08 and F08 as extensions 2023-03-16 09:14:14 -04:00
Brad King
5f74e19abb Merge topic 'doc_varreq'
9e1b30121f Help:toolchain: refer to CheckSourceCompiles
cf48022dc5 Help:Check*: include CMAKE_REQUIRED_* vars to dedupe

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8300
2023-03-16 09:06:04 -04:00
Joakim Lönnberg
9df52c7f1c IAR: Version update for arm assembler 2023-03-16 11:48:31 +01:00
Brad King
d34c98b06a Merge topic 'iar-improve-asm'
21f19d6af7 IAR:Improved assembler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8323
2023-03-15 09:53:16 -04:00
scivision
cf48022dc5 Help:Check*: include CMAKE_REQUIRED_* vars to dedupe
CMAKE_REQUIRED_FLAGS now notes that space-delimited string, not
;-list is required, which could be surprising compared to similar
options that do use ;-list
2023-03-14 16:48:25 -04:00
Brad King
6f7d21b452 Merge topic 'incneed'
03c6ebf2b5 Modules:Check,GenerateExportHeader: include only what's needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8311
2023-03-14 09:37:17 -04:00
Brad King
db4f4ad24e Merge topic 'support_cubin_fatbin_optix_cuda_output'
2def6a874b CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8259
2023-03-14 09:35:00 -04:00
Brad King
c77801029d Merge topic 'revert-CheckCompilerFlag-clang-argument-unused'
97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8322
2023-03-14 09:29:01 -04:00
Joakim Lönnberg
21f19d6af7 IAR:Improved assembler support 2023-03-14 10:14:26 +01:00
Brad King
97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'
Revert commit 5b45a3d0ce (CheckCompilerFlag: Match the Clang "argument
unused" output for all languages, 2023-01-23, v3.26.0-rc1~38^2).  It
broke existing projects that were silently tolerating unrelated unused
arguments in their checks for C and CXX.  For example, using
`CFLAGS=-nostdinc` or `CXXFLAGS=-nostdinc++` causes those flags to be
used when driving the linker as well, and Clang warns they are unused in
that case.

Add a test case covering the now-restored behavior.

Fixes: #24591
2023-03-13 16:18:50 -04:00