1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00
Commit Graph

11700 Commits

Author SHA1 Message Date
Brad King
5eb2aa1f57 Merge topic 'link-objects-first'
3941555d93 target_link_libraries: Place $<TARGET_OBJECTS> before libraries
f530b3a267 OpenWatcom: Add infrastructure to link to object files
8a4ca110e4 cmComputeLinkInformation: Improve type safety of item IsPath member
83ad066ed1 cmComputeTargetDepends: Factor out helper to add object library dependency
7f506b95a7 cmGeneratorTarget: Refactor link item lookup
96809a8541 cmGeneratorTarget: Give temporary link impl item an explicit name
ddffbb8adb cmMakefile: Register explicit object sources more efficiently
18e42d3e63 cmGeneratorExpressionNode: Constify local variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6166
2021-06-01 08:35:56 -04:00
Brad King
54cc20137c Merge topic 'binutils-consistency'
9411766c35 BinUtils: Avoid llvm-objdump versions older than Clang 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6175
2021-06-01 08:35:04 -04:00
Marc Chevrier
a42add6cd6 UseJava: Add version for RESOURCES option 2021-05-30 14:53:05 +02:00
Raul Tambre
886e27062b Clang/MSVC: C++20 final flag, C++23 support
Added in LLVM commit a8f75d497daa2684a03909d7c31d5bce11b427e1, will be released
in 13.0.
2021-05-29 19:44:10 +03:00
Brad King
f530b3a267 OpenWatcom: Add infrastructure to link to object files 2021-05-29 09:28:36 -04:00
Brad King
9411766c35 BinUtils: Avoid llvm-objdump versions older than Clang 9
Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27) we correctly prefer the more-specific name
`llvm-objdump` over `objdump` when using Clang.  However, this breaks
`file(GET_RUNTIME_DEPENDENCIES)` with `llvm-objdump` from Clang 8 and
below.  Avoid those older versions of `llvm-objdump`.
2021-05-29 08:09:46 -04:00
Raul Tambre
3aaf1d91bf MSVC: C++20 final flag, C++23 support
Microsoft intends to ship the final C++20 flag in VS 16.11 albeit with a few
parts missing due planned ABI breaking changes.
The current 16.11 Preview 1 toolchain version is 19.29.30129.3, so let's
restrict based on that.
2021-05-29 13:35:45 +03:00
Bobby D Reynolds
ae108418ae Launchers: Support setting linker launchers
Fixes: #18316
2021-05-28 12:28:43 -04:00
Brad King
1143213e38 Merge topic 'binutils-consistency'
047585edc6 BinUtils: Find linker and librarian for Intel compilers on Windows
995f5b4e7b BinUtils: Find linker and librarian for OpenWatcom
cf82300a63 BinUtils: Clarify search logic and make it more consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6164
2021-05-28 12:24:10 -04:00
Robert Maynard
e609afeb5f WriteBasicConfigVersion supports version strings such as 21.07.04
Fixes #22207
2021-05-27 15:18:37 -04:00
Brad King
047585edc6 BinUtils: Find linker and librarian for Intel compilers on Windows
Update our Intel linker and archiver rules to use the `<CMAKE_LINKER>`
and `<CMAKE_AR>` placeholders instead of hard-coding the tool names.
2021-05-27 10:46:33 -04:00
Brad King
995f5b4e7b BinUtils: Find linker and librarian for OpenWatcom
Update our OpenWatcom linker and archiver rules to use the
`<CMAKE_LINKER>` and `<CMAKE_AR>` placeholders instead of
hard-coding the tool names.
2021-05-27 10:46:33 -04:00
Brad King
cf82300a63 BinUtils: Clarify search logic and make it more consistent
Consistently consider more-specific names before less-specific names.
2021-05-27 10:45:09 -04:00
Brad King
4296c31881 Merge topic 'compiler-ti-linker-response-file'
74a2a7a477 Compiler/TI: Restore response file usage for linker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6159
2021-05-26 11:56:32 -04:00
Josef Angstenberger
74a2a7a477 Compiler/TI: Restore response file usage for linker
The commit 98fea8205e (Compiler/TI: Avoid response file usage for
linker, 2020-07-11, v3.19.0-rc1~495^2) disabled linker file usage by
default.  The previous settings were working, even if not for all cases.
Restore them and add an explanation in a comment.

Issue: #22233
2021-05-25 10:10:42 -04:00
Brad King
6b5be76b07 Merge topic 'find_cuda_deprecation'
15fda9384a FindCUDA: Improve deprecation guidance wording
e16b06f4b9 FindCUDA: Make the deprecation notice more prominent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6153
2021-05-25 10:05:45 -04:00
PCJohn
668ba68a7a FindVulkan: add Vulkan::Headers and Vulkan::glslangValidator targets
The `Vulkan::Headers` target complements existing Vulkan::Vulkan target.
It is the same except it omits the Vulkan library which supports
applications that loads the Vulkan library in at runtime.

The `Vulkan::glslangValidator` target provides the glslangValidator
executable which is the tool for converting between shader languages
(GLSL, SPIR-V, etc.).
2021-05-24 12:53:15 -04:00
Raul Tambre
15fda9384a FindCUDA: Improve deprecation guidance wording
Simplified the text regarding adding sources to be more general as there's also
target_sources().

Improved the wording for FindCUDAToolkit to be more explicit of its usecase and
avoid using "superseded" since the common usecase of FindCUDA was superseded by
the language support.

Wording suggestions incopropated from discussion on #22203.
2021-05-22 11:39:19 +03:00
Raul Tambre
e16b06f4b9 FindCUDA: Make the deprecation notice more prominent
FindCUDA is still widely used, but has been superseded by the much more robust
native language support. However the deprecation hasn't been noticed well
enough and real-world experience shows there's still new code written to use
it.

Change this particular notice to a warning to get a hard to miss red box.
We lose the semantic meaning, but we don't want to make all notices like this.
If there are similar cases in the future requiring it would be worth adding a
custom variant of the deprecated directive.

Fixes #22203.
2021-05-22 11:38:52 +03:00
Brad King
bd0ccb73f2 Merge topic 'git-config-version-check'
8a9753e427 ExternalProject: Only add git config setting with git 1.7.7 or later

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6145
2021-05-21 10:36:56 -04:00
Craig Scott
8a9753e427 ExternalProject: Only add git config setting with git 1.7.7 or later
1cb65e680d (ExternalProject: Prevent the noisy detached head
messages on checkout, 2021-01-17) unconditionally added the advice.detachedHead
git config setting, but it requires git 1.7.7 or later. Since it isn't fatal to not
have it, just noisier, only add it when it is supported.

Fixes: #22206
2021-05-20 22:39:04 +10:00
Brad King
b78ba8bd31 Merge topic 'nvhpc-ninja-depfile'
364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6136
2021-05-19 07:54:42 -04:00
Brad King
c23e2fa0c5 Merge topic 'nvhpc-ninja-depfile' into release-3.20
364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6136
2021-05-19 07:54:41 -04:00
Robert Maynard
364f6af1d7 NVHPC: Support Ninja dependency scanning
Fixes: #22168
2021-05-18 12:56:46 -04:00
Robert Maynard
521cfc38a3 NVHPC: Support explicit language flags 2021-05-18 11:30:01 -04:00
Brad King
f3b4605741 Merge topic 'doc-ep-configure-build-passthrough'
cf3bc271d1 Help: Clarify details passed to ExternalProject configure and build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6135
2021-05-17 09:45:43 -04:00
Brad King
161f8f42c5 Merge topic 'IncludeInfo-var-expand'
caea48eec9 CMakeParseImplicitIncludeInfo: remove needless variable expansions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6125
2021-05-17 09:41:43 -04:00
Craig Scott
cf3bc271d1 Help: Clarify details passed to ExternalProject configure and build
Fixes: #22116
2021-05-16 20:28:00 +10:00
Rolf Eike Beer
caea48eec9 CMakeParseImplicitIncludeInfo: remove needless variable expansions
They seem to actually cause trouble, like an error reported on IRC where some
but not all CMake invocations may end up with an error like this:

   CMake Warning (dev) at /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:74 (if):
     Policy CMP0054 is not set: Only interpret if() arguments as variables or
     keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
     details.  Use the cmake_policy command to set the policy and suppress this
     warning.

     Quoted keywords like ")" will no longer be interpreted as keywords when the
     policy is set to NEW.  Since the policy is not set the OLD behavior will be
     used.
   Call Stack (most recent call first):
     /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:179 (cmake_parse_implicit_include_line)
     /usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:119 (cmake_parse_implicit_include_info)
     /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)
     CMakeLists.txt:24 (project)
   This warning is for project developers.  Use -Wno-dev to suppress it.

   CMake Error at /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:74 (if):
     if given arguments:

       "GNU" "STREQUAL" "SunPro" "AND" "(" ")" "MATCHES" "-D__SUNPRO_C" "OR" ")" "MATCHES" "-D__SUNPRO_F" ")"

I suspect that the line ends up being just ")", which then causes this error.
2021-05-13 17:52:13 +02:00
Arcturus Arcturus
5d32ce320b FetchContent: Use private local variables in FetchContent_MakeAvailable 2021-05-13 13:52:16 +01:00
Brad King
f89c1a559d UseJava: Avoid non-word "compilability" in documentation
Also fix spelling in the release note from commit 3e03f359a7 (UseJava:
Add RESOURCES with NAMESPACE to add_jar(), 2021-04-27).
2021-05-12 07:35:16 -04:00
Brad King
9b2b91abe7 Merge topic 'UseJava-add_jar-resource-namespace'
3e03f359a7 UseJava: Add RESOURCES with NAMESPACE to add_jar()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Smit-tay <damnedyankee@gmail.com>
Merge-request: !6071
2021-05-11 09:24:20 -04:00
Brad King
ad961fd42a Merge topic 'findlapack_support_nvhpc'
2c9e623e31 Find{BLAS,LAPACK}: Add support for the NVHPC LAPACK library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6089
2021-05-11 09:21:50 -04:00
Brad King
ca11096fd3 Merge topic 'cpp23_gcc'
9fbbebe3d0 GNU: C++23 support
c9a1e06a18 GNU: Final C++20 flags
05f8c8178d GNU: C++17 default version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6108
2021-05-11 09:19:12 -04:00
Smit tay
3e03f359a7 UseJava: Add RESOURCES with NAMESPACE to add_jar()
add_jar() currently requires (undocumented) that resources be supplied
as relative paths.  The resources *may* then end up in a path which does
not reflect the original path particularly when performing out-of-source
builds.  This change adds a RESOURCE (and NAMESPACE) parameter and a
function to add the names resources into the named namespace within the
jar- and thus address both of these problems.

Fixes: #22101
2021-05-10 10:48:46 -04:00
Raul Tambre
9fbbebe3d0 GNU: C++23 support
Added in GCC commit 78739c2df788ee5c868d998a6333d453317d8711, released in 11.1.
No lettered variant beforehand this time around.

Implements #22139.
2021-05-10 10:19:13 -04:00
Raul Tambre
c9a1e06a18 GNU: Final C++20 flags
Added in GCC commit fb26050409473f5be54465beca114b7e48de43aa, released in 11.1.
2021-05-10 10:19:13 -04:00
Raul Tambre
05f8c8178d GNU: C++17 default version
Changed in GCC commit 0801f419440c14f6772b28f763ad7d40f7f7a580, released in 11.1.
2021-05-10 10:19:13 -04:00
Brad King
3928f31a26 Merge topic 'codespell'
fd02f10103 Xcode: Fix typos and spelling in error message
5950e54325 Source: Fix typos and spelling in comments
7072d83772 Help: Fix typos and spelling in documentation
03b1140ddc CONTRIBUTING: Fix typos and spelling
87f8843d8b FindMatlab: Fix spelling in warning and documentation
15cc39ed7f Modules: Fix typos and spelling in documentation
f015c36c5a Modules: Fix typos and spelling in comments of generated code
dad5b9d845 Modules: Fix typos and spelling in comments
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6099
2021-05-10 10:13:06 -04:00
Brad King
961837a244 Merge topic 'FindBoost-1.76'
79be37b94e FindBoost: Add support for Boost 1.76

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6100
2021-05-10 10:06:53 -04:00
Brad King
b2f1345aaf Merge topic 'FindBoost-1.76' into release-3.20
79be37b94e FindBoost: Add support for Boost 1.76

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6100
2021-05-10 10:06:52 -04:00
Brad King
f889758ac7 Merge topic 'ep-update-git-hash-missing'
5e941a545b ExternalProject: Ensure git fetch if updating to hash we don't have yet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6109
2021-05-10 10:05:11 -04:00
Craig Scott
5e941a545b ExternalProject: Ensure git fetch if updating to hash we don't have yet
In ac6a4d4884 (ExternalProject: Improve robustness of update step,
2020-10-17), the method used to check whether we already have a
commit or not was changed from using git rev-list to git rev-parse.
The new logic assumed rev-parse would output nothing if given a commit
hash it didn't know about, but it simply prints the hash again without
raising an error in this scenario. Amend that logic by adding ^{commit} to
the ref to ensure we do get an error if that ref is not currently known.

Fixes: #22166
2021-05-09 12:33:16 +10:00
Josef Angstenberger
87f8843d8b FindMatlab: Fix spelling in warning and documentation 2021-05-07 17:00:16 +02:00
Josef Angstenberger
15cc39ed7f Modules: Fix typos and spelling in documentation 2021-05-07 17:00:16 +02:00
Josef Angstenberger
f015c36c5a Modules: Fix typos and spelling in comments of generated code 2021-05-07 17:00:15 +02:00
Josef Angstenberger
dad5b9d845 Modules: Fix typos and spelling in comments 2021-05-07 17:00:15 +02:00
Brad King
7e0bec20a7 Merge topic 'FindProtobuf-grpc-plugin'
f2a4b879b1 FindProtobuf: Add PLUGIN parameter to protobuf_generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6068
2021-05-07 09:14:43 -04:00
Brad King
fd7293f36d Merge topic 'Fujitsu-Fortran-Ninja'
284d12a426 Fujitsu: Make explicit Fortran preprocessing under Ninja more robust

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6080
2021-05-07 09:13:51 -04:00
Brad King
fdbb5a599f Merge topic 'improve_cuda_toolkit_extraction_regex' into release-3.20
5e931c5a97 CUDA: improve regex for CUDA Toolkit root from nvcc verbose output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6094
2021-05-07 09:12:08 -04:00