Commit Graph

70960 Commits

Author SHA1 Message Date
Brad King 37cf9941ed UseEcos: Add missing placeholder in rules to link executables 2025-06-10 08:53:47 -04:00
Brad King fa61be5bc4 Embarcadero,OpenWatcom: Clear unused flags for creating shared libraries
Clear `CMAKE_SHARED_LIBRARY_CREATE_<LANG>_FLAGS` since no special
link flags are needed to create a DLL with these toolchains.
Our shared library creation rules do not reference the placeholder,
so this variable was never used.  However, we may soon teach the
generators to look it up directly.
2025-06-10 08:53:47 -04:00
Brad King 124e40947c CMakeCommonLanguageInclude: Do not unset MODULE library flags when empty 2025-06-10 08:53:47 -04:00
Brad King 7b4c87edae ADSP: Do not pass executable link flags when creating a static library
This was done by mistake in commit d090159318 (ENH: add support for the
ADSP toolchains for Blackfin, Shark and TigerShark DSPs, patch from
Raphael Cotty, 2007-07-12, v2.6.0~1446), and preserved in the
generalization by commit e9eabb0dcd (ADSP: Configure compiler in
compiler module, 2022-03-24, v3.24.0-rc1~331^2~1).  Fix both places.
2025-06-09 16:08:33 -04:00
Brad King 58a70cfc38 Swift: Drop unused placeholder in shared library link rule
The `CMAKE_SHARED_LIBRARY_<LANG>_FLAGS` placeholder is meant for flags
used to compile sources meant for a shared library.  It is used for
C/CXX to add PIC flags.  It is not documented for public use, and we do
not populate it for Swift anyway.
2025-06-09 16:04:10 -04:00
Brad King 0165b3fa62 CrayPrgEnv: Drop unused static library "link" flags variable
In commit c54a621b55 (Cray: New platform file for Cray Linux Environment
and PrgEnv, 2015-11-13, v3.5.0-rc1~216^2~1) we populated variable
`CMAKE_STATIC_LIBRARY_LINK_<LANG>_FLAGS`, but we never reference it, and
the generators do not use it.  Static libraries are archives, and are
not produced by a linker.
2025-06-09 15:53:04 -04:00
Brad King 2f177e61d5 GNU: Remove non-functional code in OBJCXX support
In commit 9e66397c28 (Languages: Add support for Objective-C++,
2019-09-13, v3.16.0-rc1~44^2~2) we set `CMAKE_OBCXX_LINK_FLAGS`.
It was a typo for `CMAKE_OBJCXX_LINK_FLAGS`, and so has not had
any effect.
2025-06-09 15:28:29 -04:00
Brad King 72f4659697 Merge topic 'xcode-library-link-flags'
a2414480e8 cmGlobalXCodeGenerator: Remove unused argument from LookupFlags helper
35317a7ae2 Xcode: De-duplicate -dynamiclib/-bundle flags for SHARED/MODULE libraries
5fdd4a5859 cmGlobalXCodeGenerator: Convert GetTargetProductType signature to string_view
ced6b31c48 cmGlobalXCodeGenerator: Convert CreateString signature to string_view

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10862
2025-06-09 09:26:01 -04:00
Kitware Robot 5ecd2acf75 CMake Nightly Date Stamp 2025-06-09 00:04:54 -04:00
Kitware Robot 5b7c38550b CMake Nightly Date Stamp 2025-06-08 00:11:01 -04:00
Brad King a2414480e8 cmGlobalXCodeGenerator: Remove unused argument from LookupFlags helper 2025-06-07 06:43:08 -04:00
Brad King 35317a7ae2 Xcode: De-duplicate -dynamiclib/-bundle flags for SHARED/MODULE libraries
Xcode automatically adds a flag matching the generated `LIBRARY_STYLE`:

* For SHARED libraries we've been duplicating `-dynamiclib` with a copy
  in `CMAKE_SHARED_LIBRARY_CREATE_<LANG>_FLAGS`.  Remove it for Xcode.

* For MODULE libraries we've been not duplicating `-bundle` only by accident.
  Since commit 586a9427d3 (ENH: Created target property INSTALL_NAME_DIR...,
  2006-02-24, v2.4.0~418) we've looked up `CMAKE_<LANG>_LINK_FLAGS`, meant
  for EXECUTABLEs, instead of `CMAKE_SHARED_MODULE_CREATE_<LANG>_FLAGS`.
  Switch to the latter, but remove `-bundle` for Xcode.
2025-06-07 06:43:08 -04:00
Brad King 5fdd4a5859 cmGlobalXCodeGenerator: Convert GetTargetProductType signature to string_view 2025-06-07 06:42:56 -04:00
Brad King ced6b31c48 cmGlobalXCodeGenerator: Convert CreateString signature to string_view 2025-06-07 06:36:49 -04:00
Kitware Robot 0bc1e556c9 CMake Nightly Date Stamp 2025-06-07 00:04:34 -04:00
Brad King 3bca7bca7b Merge topic 'update-curl'
0112a49bfa curl: Set build options the way we need for CMake
cebb60188f Merge branch 'upstream-curl' into update-curl
3207de53f4 curl 2025-06-04 (fdb8a789)
9d9d4b485a curl: Update script to get curl 8.14.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10860
2025-06-06 08:36:17 -04:00
Brad King 7fbd43c84c Merge topic 'cps-more-metadata'
da97747dac CPS: Support additional metadata
f224e131a5 CPS: Refactor metadata handling
7155903e53 cmExportPackageInfoGenerator: Fix style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10856
2025-06-06 08:28:25 -04:00
Brad King 1824b771e9 Merge topic 'cpack-nuget-symbol-package'
e71396c8db CPack/NuGet: Enable the generation of NuGet symbol package(s)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10852
2025-06-06 08:22:00 -04:00
Brad King 91690cac34 Merge topic 'msvc-link-machine'
92d6126450 MSVC: Move link -machine flag out of CMAKE_*_LINKER_FLAGS
bb8baacbcc MSVC: Factor out link -machine flag name
4c6c7f4d45 MSVC: Move link -subsystem flag handling near and -machine flag handling
f1a80a5581 CUDA: Drop unused link rule variable setting on Windows
a0732ce47f CMAKE_STATIC_LINKER_FLAGS: Fix terminology in cache entry help string
53aab8acd6 Tests: Generalize test name RunCMake.MSVC{Warning => Default}Flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10849
2025-06-06 08:19:54 -04:00
Brad King 2132b293a7 Merge branch 'release-4.0' 2025-06-06 08:15:15 -04:00
Brad King 9ff0d63631 Merge branch 'release-3.31' 2025-06-06 08:15:08 -04:00
Brad King 608435c1bb Merge branch 'release-3.31' into release-4.0 2025-06-06 08:14:59 -04:00
Brad King 9a9908db04 Merge branch 'release-4.0' 2025-06-06 08:12:50 -04:00
Brad King b01c1df41b Merge topic 'cuda-nvcc-system-includes'
d2be863b5e CUDA: Add include paths from nvcc SYSTEM_INCLUDES entry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10857
2025-06-06 08:12:49 -04:00
Brad King dc646156d0 Merge topic 'cuda-nvcc-system-includes' into release-4.0
d2be863b5e CUDA: Add include paths from nvcc SYSTEM_INCLUDES entry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10857
2025-06-06 08:12:47 -04:00
Brad King 839fe64201 Merge topic 'cuda-nvcc-system-includes' into release-3.31
d2be863b5e CUDA: Add include paths from nvcc SYSTEM_INCLUDES entry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10857
2025-06-06 08:12:05 -04:00
Kitware Robot 2121f65c67 CMake Nightly Date Stamp 2025-06-06 00:04:45 -04:00
Robert Maynard d2be863b5e CUDA: Add include paths from nvcc SYSTEM_INCLUDES entry
Upcoming versions of nvcc are adding support for `SYSTEM_INCLUDES`
which contain includes that are implicitly used with `-isystem`
instead of `-I`.

Support of this is needed in CMake as some CUDA Toolkit releases will
start to have a different include directory layout and using only the
output from `INCLUDES` will be insufficient to find all headers.
2025-06-05 10:53:12 -04:00
Jens Carl e71396c8db CPack/NuGet: Enable the generation of NuGet symbol package(s)
Enable the generation of NuGet symbol package(s) with the new variable
`CPACK_NUGET_SYMBOL_PACKAGE`. CPack generates then normal nuget package
(*.nupkg) and a symbol nuget package (*.snupkg). The new generate
package contains PDB files.

Fixes: #26976
2025-06-05 10:41:22 -04:00
Brad King 39da8f69a1 Merge topic 'update-kwsys'
4578775280 Merge branch 'upstream-KWSys' into update-kwsys
0792fe05f6 KWSys 2025-06-05 (9953c411)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10861
2025-06-05 10:32:18 -04:00
Brad King 4578775280 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-06-05 (9953c411)
2025-06-05 10:06:37 -04:00
KWSys Upstream 0792fe05f6 KWSys 2025-06-05 (9953c411)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 9953c411cdff6fbc02e6ddaa3fa0b954016cf365 (master).

Upstream Shortlog
-----------------

Clemens Wasser (1):
      430818af SystemInformation: Optimize CPU clock speed detection on Windows
2025-06-05 10:06:36 -04:00
Brad King 430f0b2729 Merge topic 'cpack-deb-control-file-syntax'
865f0032eb CPack/DEB: Remove extra newline at the end of .deb control file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10853
2025-06-05 09:40:22 -04:00
Brad King 2299f09898 Merge topic 'FindCUDAToolkit-doc-links'
d8e9b1bbdf FindCUDAToolkit: Simplify internal documentation links
db9b79fb9b FindCUDAToolkit: Update documentation URLs
1049b0d9a5 FindCUDAToolkit: Fix documentation link to cuRAND section

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10859
2025-06-05 09:37:02 -04:00
Brad King 852c54fa52 Merge topic 'fix-project-compat_version-doc'
01f6067ce4 Help: Note when `project(COMPAT_VERSION)` was added

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10858
2025-06-05 09:36:08 -04:00
Brad King 92d6126450 MSVC: Move link -machine flag out of CMAKE_*_LINKER_FLAGS
The `CMAKE_{EXE,SHARED,MODULE,STATIC}_LINKER_FLAGS` variables are
not language-specific, so multiple languages' toolchains may disagree
about if/how to pass the flag through a compiler driver to the linker.
Furthermore, carrying the flag in public-facing variables allows projects
or users to change it even though it is required.  Add policy CMP0197
to remove the flag from the public-facing variables and generate it
automatically instead:

* For command-line generators, add the `-machine:` flag to the
  linker and archiver rule variables.

* For Visual Studio generators, we do not need to explicitly add the
  link `-machine:` flag.  MSBuild automatically adds it, and the new
  behavior actually removes a duplicate we generated previously.

Issue: #21934
2025-06-05 09:16:54 -04:00
Brad King 0112a49bfa curl: Set build options the way we need for CMake
Set options added by the update to curl 8.14.1.
2025-06-05 09:00:36 -04:00
Kitware Robot afd2ee9d33 CMake Nightly Date Stamp 2025-06-05 00:04:20 -04:00
Brad King d8e9b1bbdf FindCUDAToolkit: Simplify internal documentation links 2025-06-04 19:40:04 -04:00
Brad King db9b79fb9b FindCUDAToolkit: Update documentation URLs 2025-06-04 19:40:00 -04:00
Craig Scott ab184e453f Merge topic 'patch-FindGTest'
d8b8183425 FindGTest: Deprecate result variables and update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10760
2025-06-04 16:56:31 -04:00
Brad King cebb60188f Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2025-06-04 (fdb8a789)
2025-06-04 14:05:21 -04:00
Curl Upstream 3207de53f4 curl 2025-06-04 (fdb8a789)
Code extracted from:

    https://github.com/curl/curl.git

at commit fdb8a789d2b446b77bd7cdd2eff95f6cbc814cf4 (curl-8_14_1).
2025-06-04 14:03:36 -04:00
Brad King 9d9d4b485a curl: Update script to get curl 8.14.1 2025-06-04 14:03:24 -04:00
Brad King 1049b0d9a5 FindCUDAToolkit: Fix documentation link to cuRAND section 2025-06-04 11:37:19 -04:00
Roberto Benfatto 865f0032eb CPack/DEB: Remove extra newline at the end of .deb control file
It effectively created a control file with two stanzas when package file
data is appended, one of which lacks required parameters, making this
package impossible to use in a package repository.

Fixes: #26975
2025-06-04 11:30:51 -04:00
Brad King 727103ed9c Merge topic 'vs-Zc-defaults'
7db3dbddb2 VS: Suppress MSBuild default flags not specified by project or user

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10851
2025-06-04 11:22:26 -04:00
Matthew Woehlke 01f6067ce4 Help: Note when project(COMPAT_VERSION) was added
Tweak documentation of `project()` to note when the (experimental for
now) `COMPAT_VERSION` argument was added.
2025-06-04 11:21:57 -04:00
Brad King e25b99a4af Merge topic 'ninja-create_def-directory'
2ec61ed01d Ninja: Fix WINDOWS_EXPORT_ALL_SYMBOLS with PRE_LINK build event

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10844
2025-06-04 11:15:32 -04:00
Kitware Robot d761b0ee9c CMake Nightly Date Stamp 2025-06-04 00:04:56 -04:00