Commit Graph

13804 Commits

Author SHA1 Message Date
Brad King d5cc1da1ca Merge topic 'matlab-env'
6f7d87b40d FindMatlab: use NAMES for find_*
9e97893147 FindMatlab: set MATLAB_ARCH per process call

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9161
2024-01-19 11:02:56 -05:00
Brad King f7139c3e4a Merge topic 'cuda-clang'
6251edc5a4 CUDA/Clang: Record architectures supported by Clang 16
07b7d0ceaa CUDA/Clang: Update architectures supported by CUDA 12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9164
2024-01-19 10:56:08 -05:00
Brad King 6251edc5a4 CUDA/Clang: Record architectures supported by Clang 16 2024-01-18 12:28:14 -05:00
Brad King 07b7d0ceaa CUDA/Clang: Update architectures supported by CUDA 12
In commit 4d90f65b24 (CUDA: Update set of architectures supported by
CUDA 12, 2022-12-19, v3.26.0-rc1~120^2) we incorrectly guarded dropping
removed architectures by compiler id, but it is actually the CUDA 12
toolkit itself that removed support.
2024-01-18 12:27:53 -05:00
Brad King 2bb5ad396b Merge topic 'FindPackageMessage-strip-spaces'
4ecfd1a7dc FindPackageMessage: Remove extra whitespace from messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9156
2024-01-18 08:56:22 -05:00
Brad King c065af700a Merge topic 'FindMatlab-fix-exact-version'
7060e2135c FindMatlab: Restore support for finding EXACT major.minor version
88a1392270 FindMatlab: use correct registry view when extracting versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9163
2024-01-18 08:53:12 -05:00
Hermann von Kleist 7060e2135c FindMatlab: Restore support for finding EXACT major.minor version
By comparing major.minor, the behavior approximately matches pre-3.28
behavior.

Fixes: #25605
2024-01-17 10:33:48 -05:00
Hermann von Kleist 88a1392270 FindMatlab: use correct registry view when extracting versions 2024-01-17 16:19:22 +01:00
Brad King c7ebec770f Merge topic 'lcc-updates-2024-01'
202f4b3161 Tests: Exclude some tests on broken libc on Elbrus
9dd0ab9c88 LCC: Make CMake build without warnings on LCC 1.21
1dbb31cea2 libarchive: avoid lchmod not implemented warning on old LCC
83af26d9ad LCC: Don't enable debugger on LCC that don't have <future>
fa764ce311 liblzma: Make cmliblzma buildable on LCC 1.21
77e046b47c jsoncpp: fix missing template deletion support on LCC < 1.23
67de0c197b cmcurl: fix X509_STORE_up_ref issue not just on LCC 1.23, but on LCC <= 1.23
9bc2aba3b4 LCC: get rid of ambiguous assignments of {} for LCC
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9157
2024-01-17 09:51:13 -05:00
Brad King 094648fa73 Merge topic 'FindX11-Xdbe'
b118132c5f FindX11: Add awareness of Xdbe

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !9153
2024-01-17 09:48:58 -05:00
Brad King 10131f2c53 Merge topic 'matlab-win'
42fbe01eba FindMatlab: Accept long version in matlab_get_release_name_from_version
c608adc236 FindMatlab: Fix major.minor version lookups in Windows Registry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9148
2024-01-17 09:34:59 -05:00
scivision 6f7d87b40d FindMatlab: use NAMES for find_*
this improves readability especially for custom function
_Matlab_find_library
2024-01-16 22:39:13 -05:00
scivision 9e97893147 FindMatlab: set MATLAB_ARCH per process call
this is just a best practice refactor.
2024-01-16 22:34:01 -05:00
Máté Ferenc Nagy-Egri 4ecfd1a7dc FindPackageMessage: Remove extra whitespace from messages
In particular, the call to `find_package_message` from FPHSA may
have extra whitespace in some cases.
2024-01-16 12:05:15 -05:00
Kristian Spangsege b118132c5f FindX11: Add awareness of Xdbe
Fixes: #25591
2024-01-16 11:57:53 -05:00
scivision 42fbe01eba FindMatlab: Accept long version in matlab_get_release_name_from_version
Make this work:

  matlab_get_release_name_from_version(${Matlab_VERSION})

which the user would expect.

While at it, simplify this function code.
2024-01-16 11:37:43 -05:00
scivision c608adc236 FindMatlab: Fix major.minor version lookups in Windows Registry
The registry key names use only the first two version components.
Previously we were using the full versions.

Fixes: #25582
2024-01-16 11:35:32 -05:00
Brad King 320d6f446d Merge topic 'FindMatlab-fix-version-without-versioninfoxml'
694727bb45 FindMatlab: Restore support for versions without VersionInfo.xml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9151
2024-01-16 11:10:29 -05:00
makise-homura 59eb9ddecf LCC: Correct C compiler default C standards 2024-01-16 07:18:51 +03:00
Hermann von Kleist 694727bb45 FindMatlab: Restore support for versions without VersionInfo.xml
Report "unknown" in `_Matlab_VersionInfoXML` if file is missing.
Fix omitted MATLAB root with unknown version from XML.

Fixes: #25585
Fixes: #25586
2024-01-12 09:38:12 -05:00
Brad King 97713da650 Merge topic 'swift-implib'
a2aad7eb8d Swift: fix Windows DLL import library support for CMP0157 NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Jeremy Day <jadaytime@gmail.com>
Merge-request: !9140
2024-01-11 10:06:39 -05:00
Brad King 1c02642ee6 Merge topic 'package-dispatch-apple'
2a398cd9b6 CMakePackageConfigHelpers: Clarify generate_apple_*_selection_file signatures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9130
2024-01-11 10:05:49 -05:00
Brad King 5b302bf5fe FindCxxTest: Drop broken anchor on link to cxxtest project page 2024-01-10 13:48:09 -05:00
Saleem Abdulrasool a2aad7eb8d Swift: fix Windows DLL import library support for CMP0157 NEW
This was accidentally removed when the command templates were
reorganized to introduce the new policy. Restore the flag in the shared
library creation to ensure that we emit the import libraries to the
correct location.
2024-01-10 08:02:36 -08:00
Brad King 7557a722a5 Merge topic 'ewilde/swift-ninja-response-files'
a6a5c43300 Swift/Ninja: Add support for response files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9098
2024-01-09 10:53:59 -05:00
Brad King dda4232b4d Merge topic 'cpack-nuget-readme'
ccde6f8048 CPack/NuGet: Add support for repository tag
2c616e85cf CPack/NuGet: Add support for readme tag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9139
2024-01-09 09:59:18 -05:00
makise-homura 020e80d825 LCC: Add missing C/CXX compiler version checks for -std options 2024-01-08 15:25:57 -05:00
makise-homura 76a0a67026 GetPrerequisites: Tolerate multiple leading '/' in system library paths
On OS Elbrus 8.x, we see a dependency on `//usr/lib/libpcre2-8.so.0``
in the Qt4Deploy test.  Recognize it as a system path.
2024-01-08 15:25:57 -05:00
Evan Wilde a6a5c43300 Swift/Ninja: Add support for response files
Adding support for `CMAKE_NINJA_FORCE_RESPONSE_FILE` with Swift.

Issue: #25490
Fixes: #25563
2024-01-08 09:11:27 -08:00
Alex Turbov ccde6f8048 CPack/NuGet: Add support for repository tag
Fixes: #23703
2024-01-08 11:01:29 -05:00
Alex Turbov 2c616e85cf CPack/NuGet: Add support for readme tag
Fixes: #25542
2024-01-08 11:01:06 -05:00
Brad King a3f76a4e4d Merge topic 'link-stubs-transitively'
2c6ec6de15 Link to transitive dependencies on stub libraries only on some linkers
dd4a6dff92 Link explicitly to private transitive dependencies on stub libraries
5f1bbdb3b3 Tests: Enable RunCMake.RuntimePath test on more platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9050
2024-01-08 09:47:15 -05:00
Brad King 1f66051983 Merge topic 'FindPkgConfig-caching'
e50aaf8547 FindPkgConfig: Update cache variables after isystem extraction
8fe6196714 FindPkgConfig: Update cache variables after framework extraction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9109
2024-01-05 13:31:58 -05:00
Brad King 769be838cb Merge topic 'check_language_propagate_hip_platform'
ce9c6d0994 HIP: Propagate CMAKE_HIP_PLATFORM from/to the test project in check_language
9ba3fc91e5 HIP: Really forward CMAKE_HIP_HOST_COMPILER in check_language(HIP)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9121
2024-01-05 10:16:53 -05:00
Brad King f6f33385d7 Merge topic 'check_language_propagate_hip_platform' into release-3.28
ce9c6d0994 HIP: Propagate CMAKE_HIP_PLATFORM from/to the test project in check_language
9ba3fc91e5 HIP: Really forward CMAKE_HIP_HOST_COMPILER in check_language(HIP)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9121
2024-01-05 10:16:52 -05:00
Brad King 2a398cd9b6 CMakePackageConfigHelpers: Clarify generate_apple_*_selection_file signatures
The helpers added by:

* commit 37bc3400cd (CMakePackageConfigHelpers: Add
                     generate_apple_platform_selection_file(), 2023-11-03)
* commit 4ac5a2f866 (CMakePackageConfigHelpers: Add
                     generate_apple_architecture_selection_file(), 2023-12-19)

were worded in terms of including package configuration files, but the
actual functionality is to include files *from* package configuration
files.  The included files do not themselves need to be usable as
package configuration files.

Rename the options and clarify the documentation accordingly.

Issue: #25262
Issue: #25516
2024-01-04 19:01:35 -05:00
Kai Pastor e50aaf8547 FindPkgConfig: Update cache variables after isystem extraction
Fixes: #25377
2024-01-04 22:22:52 +01:00
Brad King dd4a6dff92 Link explicitly to private transitive dependencies on stub libraries
We represent stub libraries, e.g., for CUDA, using imported `SHARED`
library targets with only `IMPORTED_IMPLIB`, and no `IMPORTED_LOCATION`,
to indicate that the stub file is meant only for linkers and not dynamic
loaders.  See commit 7351d590ee (cmTarget: Add a way to represent
imported shared library stubs, 2023-07-17, v3.28.0-rc1~344^2) and commit
fc6508921c (cmComputeLinkInformation: Restore soname lookup for
non-imported targets, 2023-12-05, v3.28.0~4^2).

If a shared library is linked to a stub, it has a `NEEDED` field
populated with the `SONAME` found in the stub.  When a dependent target
links to such a shared library, some linkers want to find a library file
on disk and load it to see what symbols it provides.  This is necessary
for linkers that enforce `--no-allow-shlib-undefined`.  On hosts with
only the stub library installed, e.g., with only the CUDA toolkit
development package, the real runtime library corresponding to the
stub's `SONAME` may not even exist, so no `-rpath-link` flag can help
linkers find it.  Pass the stub library to linkers explicitly so they
can find it without searching.
2024-01-04 11:59:26 -05:00
Brad King 5a61984088 Merge topic 'compute-compiler-linker'
459d1cc095 Tests: Verify that linker tool is detected and identified where expected
6aec4739c1 LinkerId: Record detection steps to configure log
ba5f8dbba3 LinkerId: Use empty string for unknown linker id
6cbd0658c5 LinkerId: Match Apple linker on all Apple platforms
9324668517 LinkerId: Fix detection of GNU linker id without parenthesis in version output
37bc148870 LinkerId: Fix detection of linker tool without path
6e527c2d38 LinkerId: Fix detection of linker tool for Clang on OpenBSD
455aed3061 LinkerId: Fix detection of linker tool for MSVC
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9086
2024-01-04 11:53:38 -05:00
Brad King 5dd4d3d4e3 Merge topic 'revert-ExternalProject-download-byproducts'
fd3c9876c6 ExternalProject: revert `BYPRODUCTS` for download outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9097
2024-01-04 11:35:11 -05:00
Brad King cab0ec1f75 Merge topic 'revert-ExternalProject-download-byproducts' into release-3.28
fd3c9876c6 ExternalProject: revert `BYPRODUCTS` for download outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9097
2024-01-04 11:35:10 -05:00
Gergely Meszaros ce9c6d0994 HIP: Propagate CMAKE_HIP_PLATFORM from/to the test project in check_language
Fixes: #25541
2024-01-04 11:25:15 -05:00
Gergely Meszaros 9ba3fc91e5 HIP: Really forward CMAKE_HIP_HOST_COMPILER in check_language(HIP)
In commit b3e92775ab (HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is
NVCC, 2023-09-25, v3.28.0-rc1~44^2~2) we accidentally left this out.
2024-01-03 18:15:21 -05:00
Brad King 6aec4739c1 LinkerId: Record detection steps to configure log 2024-01-03 17:07:53 -05:00
Brad King ba5f8dbba3 LinkerId: Use empty string for unknown linker id
Since commit c26c6ac488 (Link Step: compute effective linker used by the
compiler, 2023-05-27) we used `UNKNOWN` if the linker id is not known.
This convention is not used elsewhere, and logic using the linker id
is easier when `if(CMAKE_C_COMPILER_LINKER_ID)` is false on unknown id.
2024-01-03 17:07:52 -05:00
Brad King 6cbd0658c5 LinkerId: Match Apple linker on all Apple platforms
`cmake_determine_linker_id` is only used for macOS because Apple device
platforms set `_CMAKE_FEATURE_DETECTION_TARGET_TYPE` to `STATIC_LIBRARY`,
but we might as well prepare for them anyway.
2024-01-03 17:07:52 -05:00
Brad King 9324668517 LinkerId: Fix detection of GNU linker id without parenthesis in version output 2024-01-03 17:07:52 -05:00
Brad King 37bc148870 LinkerId: Fix detection of linker tool without path
Some compiler drivers invoke the linker tool as just `ld`, with no path,
expecting it to be in the `PATH`.
2024-01-03 17:07:52 -05:00
Brad King 6e527c2d38 LinkerId: Fix detection of linker tool for Clang on OpenBSD
Do not match quotes as part of the path.
2024-01-03 17:07:51 -05:00
Brad King 455aed3061 LinkerId: Fix detection of linker tool for MSVC
Previously we matched an entire build system output line and then
extracted the relevant portion in a separate brittle step.  Match
it directly.  Use the `CMAKE_LINKER` value directly if available.
2024-01-03 17:05:55 -05:00