1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-05-08 22:37:04 +08:00

70576 Commits

Author SHA1 Message Date
Kitware Robot
54ca95a7fc CMake Nightly Date Stamp 2025-05-08 00:04:39 -04:00
Brad King
d182ad0a90 Merge topic 'FindJasper-no-jpeg'
324ab428fa FindJasper: Do not require JPEG libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10750
2025-05-07 09:46:43 -04:00
Brad King
4d51ad2b0a Merge topic 'install-DIRECTORY-exclude-empty'
b70ef48b27 install(DIRECTORY): Add EXCLUDE_EMPTY_DIRECTORIES option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10683
2025-05-07 09:45:42 -04:00
Brad King
b613318b80 Merge topic 'patch-GenerateExportHeader-module-path'
ac9585e13f GenerateExportHeader: Use CMAKE_CURRENT_FUNCTION_LIST_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10749
2025-05-07 09:43:27 -04:00
Brad King
b7a013af51 Merge topic 'patch-GenerateExportHeader'
12ec3270c4 GenerateExportHeader: Extend documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10747
2025-05-07 09:41:39 -04:00
Brad King
5d89c182fa Merge topic 'ci-linkcheck'
1b491dc4cb ci: Do not linkcheck www.gnu.org URLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10748
2025-05-07 09:38:35 -04:00
Kitware Robot
4cf27ab863 CMake Nightly Date Stamp 2025-05-07 00:07:49 -04:00
Brad King
324ab428fa FindJasper: Do not require JPEG libraries
Jasper can be built without a dependency on JPEG.  Also, we have not
been expressing the dependency on the `Jasper::Jasper` imported target
anyway.

Fixes: #26915
2025-05-06 16:53:50 -04:00
Peter Kokot
ac9585e13f
GenerateExportHeader: Use CMAKE_CURRENT_FUNCTION_LIST_DIR
This replaces CMake variable _GENERATE_EXPORT_HEADER_MODULE_DIR defined
on the module inclusion and uses CMAKE_CURRENT_FUNCTION_LIST_DIR to get
the module directory, so the module can be more flexibly included in
projects not worrying about the variable scopes of where
include(GenerateExportHeader) and generate_export_header() are called.
2025-05-06 18:14:16 +02:00
Hao Dong
b70ef48b27 install(DIRECTORY): Add EXCLUDE_EMPTY_DIRECTORIES option
EXCLUDE_EMPTY_DIRECTORIES option excludes empty directories under the
directory to install. A directory is considered not empty if and only if
the directory contains at least one file or one symbolic link or one
none-empty sub-directory.

Closes: #19189
2025-05-06 10:59:24 -04:00
Brad King
2a4c5923ef Merge topic 'doc-install-DIRECTORY'
0fb355143e Help: Reformat install(DIRECTORY) options as a definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10746
2025-05-06 09:45:06 -04:00
Brad King
015cada32d Merge topic 'patch-FindProtobuf'
1bdb0ee1b8 FindProtobuf: Deprecate protobuf_generate_*() and update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10742
2025-05-06 09:43:34 -04:00
Brad King
78f2007349 Merge topic 'no-version-2.x-changes'
af432bf582 Modules/FindTCL: Remove most "Changelog" content
29f13ef7c5 Modules/FindKDE3: Remove info on `KDE3_ENABLE_FINAL`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10744
2025-05-06 09:41:07 -04:00
Brad King
ae43a0ec33 Merge topic 'implicit-link-lib-exclude'
805a40b668 Optionally exclude implicit link libraries via environment
b10a2bf63a Tests/RunCMake/ParseImplicitLinkInfo: Fix ExcludeDirs test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10745
2025-05-06 09:39:39 -04:00
Brad King
1b491dc4cb ci: Do not linkcheck www.gnu.org URLs
These URLs are expected to be stable.  Reduce load on GNU infrastructure.
2025-05-06 08:59:47 -04:00
Kitware Robot
6100efaa2f CMake Nightly Date Stamp 2025-05-06 00:05:39 -04:00
Peter Kokot
12ec3270c4
GenerateExportHeader: Extend documentation
- Added a quick module introduction.
- Used "commands" instead of "functions".
- Listed macro names with short descriptions.
- Described command arguments as a list separately and moved code
  examples to a dedicated section.
- Added examples section with extended examples demonstrating how to use
  this module.
- Updated the description of the deprecated add_compiler_export_flags()
  command and added example showing how to upgrade code when
  encountering it.
- Added "See Also" section with some related links.
2025-05-06 02:52:01 +02:00
Brad King
0fb355143e Help: Reformat install(DIRECTORY) options as a definition list
This makes it easier to find documentation for each option.
Previously they were sprinkled throughout prose.  It also
provides a good place for ``versionadded`` directives.
2025-05-05 15:05:33 -04:00
Brad King
805a40b668 Optionally exclude implicit link libraries via environment
CMake detects libraries that the compiler driver implicitly passes to
the linker, and stores them in `CMAKE_<LANG>_IMPLICIT_LINK_LIBRARIES`
for use in constructing mixed-language link lines.  Some compiler driver
flags add implicitly linked libraries that should not be used during
mixed-language linking because they are handled by similar flags passed
to the other language's compiler driver.  Add an environment variable
that users can set to avoid undesired implicit link libraries in such
scenarios.

Follow the pattern from commit 023de565d3 (Optionally exclude implicit
link directories via environment, 2023-05-25, v3.27.0-rc1~54^2).

Fixes: #26911
2025-05-05 12:12:44 -04:00
Brad King
b10a2bf63a Tests/RunCMake/ParseImplicitLinkInfo: Fix ExcludeDirs test case
In commit 459d1cc095 (Tests: Verify that linker tool is detected and
identified where expected, 2023-12-13, v3.29.0-rc1~176^2) we renamed the
inspection result variables but did not update `ExcludeDirs`.
2025-05-05 12:12:37 -04:00
Brad King
35c86a88c1 Merge branch 'release-4.0' 2025-05-05 11:22:50 -04:00
Brad King
a12ed97b5c CMake 4.0.2 v4.0.2 2025-05-05 10:23:02 -04:00
Peter Kokot
1bdb0ee1b8 FindProtobuf: Deprecate protobuf_generate_*() and update documentation
This deprecates the protobuf_generate_cpp() and protobuf_generate_python()
commands because the protobuf_generate() can work for both of these
cases and provides more options. Also, upstream Protobuf CMake-based
build system has marked these two commands as legacy and requires
setting a separate protobuf_MODULE_COMPATIBLE variable to boolean true
before calling the find_package(Protobuf).

Changes:
- Reworded and synced module documentation with other similar find
  modules.
- Imported targets moved to top.
- Moved examples to a separate section.
- Extended examples with basic usage and some quick hints how to upgrade
  deprecated commands to protobuf_generate().
- Used lowercase style of commands.
- Used "commands" instead of "functions" or "macros".
- Documented the DESCRIPTORS argument for protobuf_generate() command
  and added a note that this option is not available when Protobuf is
  found in config mode.
- Added a note about the Protobuf CMake-based build system and that
  probuf_generate*() commands might come from the upstream CMake config
  files. Mentioned also the protobuf_MODULE_COMPATIBLE variable from
  upstream CMake build system.
  See #21228.
  This fixes this issue in favor of #24321 which tracks further
  progress about Protobuf.
- Documented the missing `PROTOBUF_GENERATE_CPP_APPEND_PATH` variable.
  See #19968.

Issue: #24321
Fixes: #21228
Fixes: #19968
2025-05-05 09:33:32 -04:00
Brad King
33aa1ec831 Merge topic 'patch-FindGettext'
c13351533d FindGettext: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10735
2025-05-05 08:58:57 -04:00
Brad King
8c7ab4e1e6 Merge topic 'asm-no-msvc'
14212494bb ASM: Guard exclusion of MSVC C/CXX compiler with a policy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10740
2025-05-05 08:55:20 -04:00
Brad King
267a1b45cf Merge branch 'release-4.0' 2025-05-05 08:52:54 -04:00
Brad King
93cbcd7596 Merge topic 'xcode-debugger-workdir'
149ee3b4bc Xcode: Use DEBUGGER_WORKING_DIRECTORY as a fallback for scheme work dir
0f1b9ef32a Help: VS_DEBUGGER_WORKING_DIRECTORY precedence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10736
2025-05-05 08:52:54 -04:00
Brad King
3302148954 Merge topic 'xcode-debugger-workdir' into release-4.0
149ee3b4bc Xcode: Use DEBUGGER_WORKING_DIRECTORY as a fallback for scheme work dir
0f1b9ef32a Help: VS_DEBUGGER_WORKING_DIRECTORY precedence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10736
2025-05-05 08:52:52 -04:00
FeRD (Frank Dana)
af432bf582 Modules/FindTCL: Remove most "Changelog" content
Remove documentation of variables or functionality that used to be
provided prior to CMake 2.6.

Fixes: #26865
2025-05-04 10:21:42 -04:00
FeRD (Frank Dana)
29f13ef7c5 Modules/FindKDE3: Remove info on KDE3_ENABLE_FINAL
The variable was still listed as deprecated since CMake 2.4.8,
documentation, but was actually removed long ago.

Fixes: #26865
2025-05-04 10:21:42 -04:00
Kitware Robot
528ce5a96c CMake Nightly Date Stamp 2025-05-04 00:09:35 -04:00
Brad King
14212494bb ASM: Guard exclusion of MSVC C/CXX compiler with a policy
Since commit 6baf65ec46 (ASM: Do not consider MSVC C/CXX compiler for
generic ASM, 2025-04-08) we no longer mistake `cl` for an assembler.
However, some projects unconditionally enable ``ASM``, which worked
on Windows only due to that bug.  Restore compatibility with such
projects by guarding the change behind a new policy ``CMP0194``.

Fixes: #26907
Issue: #26617
2025-05-03 13:18:19 -04:00
Craig Scott
149ee3b4bc Xcode: Use DEBUGGER_WORKING_DIRECTORY as a fallback for scheme work dir
This also means when XCODE_SCHEME_WORKING_DIRECTORY is
set and a Xcode generator is used, that property will be used when
writing the debugger field in the file API replies.

Fixes: #26909
2025-05-03 10:16:15 -04:00
Craig Scott
0f1b9ef32a Help: VS_DEBUGGER_WORKING_DIRECTORY precedence
The DEBUGGER_WORKING_DIRECTORY property is ignored when
VS_DEBUGGER_WORKING_DIRECTORY is set and a Visual Studio
generator is used.
2025-05-03 10:15:36 -04:00
Brad King
94a39ab229 Merge branch 'release-4.0' 2025-05-03 10:02:18 -04:00
Brad King
67f86c7db8 Merge topic 'clang-macos-sdk'
bf1bb62e74 macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10734
2025-05-03 10:02:18 -04:00
Brad King
e49dc061c2 Merge topic 'clang-macos-sdk' into release-4.0
bf1bb62e74 macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10734
2025-05-03 10:02:16 -04:00
Brad King
fd20cab32a Merge branch 'release-4.0' 2025-05-03 10:00:35 -04:00
Brad King
9585f2cc96 Merge branch 'release-3.31' 2025-05-03 10:00:29 -04:00
Brad King
68e5f1940c Merge branch 'release-3.31' into release-4.0 2025-05-03 10:00:17 -04:00
Brad King
7596050082 Merge branch 'release-4.0' 2025-05-03 09:59:33 -04:00
Brad King
4d096781c7 Merge topic 'cuda-12.9'
031593de25 Merge branch 'backport-cuda-12.9' into cuda-12.9
6458208a26 Merge branch 'backport-cuda-12.9' into cuda-12.9
a1b4c30f24 CUDA: Add CUDA 12.9 new architectures and family syntax
b2251e0deb CUDA/Clang: Update architectures supported by CUDA 12.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10738
2025-05-03 09:59:33 -04:00
Brad King
ce0f61b014 Merge topic 'cuda-12.9' into release-4.0
031593de25 Merge branch 'backport-cuda-12.9' into cuda-12.9
6458208a26 Merge branch 'backport-cuda-12.9' into cuda-12.9
a1b4c30f24 CUDA: Add CUDA 12.9 new architectures and family syntax
b2251e0deb CUDA/Clang: Update architectures supported by CUDA 12.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10738
2025-05-03 09:59:32 -04:00
Brad King
07df1a2a64 Merge topic 'cuda-12.9' into release-3.31
a1b4c30f24 CUDA: Add CUDA 12.9 new architectures and family syntax
b2251e0deb CUDA/Clang: Update architectures supported by CUDA 12.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10738
2025-05-03 09:58:35 -04:00
Kitware Robot
7554926e54 CMake Nightly Date Stamp 2025-05-03 00:06:19 -04:00
Peter Kokot
c13351533d
FindGettext: Update documentation
- Updated module documentation.
- The Gettext_FOUND variable used (CMake 3.3). Uppercased GETTEXT_FOUND
  is also set to the same value by find_package_handle_standard_args().
- Updated all commands and arguments descriptions according to the
  current implementation.
- Moved the gettext_process_po_files() command to top as it seems to
  be a bit more convenient for usage than other two.
- Renamed "functions" to "commands" as some of these are macros and some
  are functions. From the user PoV, knowing whether some module command
  is a macro or a function is mostly irrelevant.
- Added extended examples section showing some basic usage of the module
  commands.

Fixes #16034
2025-05-02 22:31:04 +02:00
Brad King
031593de25 Merge branch 'backport-cuda-12.9' into cuda-12.9 2025-05-02 16:16:06 -04:00
Brad King
6458208a26 Merge branch 'backport-cuda-12.9' into cuda-12.9 2025-05-02 16:15:59 -04:00
Robert Maynard
a1b4c30f24
CUDA: Add CUDA 12.9 new architectures and family syntax 2025-05-02 15:46:49 -04:00
Robert Maynard
b2251e0deb
CUDA/Clang: Update architectures supported by CUDA 12.8 2025-05-02 15:46:06 -04:00