Commit Graph

15178 Commits

Author SHA1 Message Date
Brad King b226b9e21c Merge topic 'patch-FindEnvModules'
22ff5620b3 FindEnvModules: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10773
2025-05-14 08:57:46 -04:00
Brad King ef726f2e79 Merge topic 'patch-FindHg'
50769f3f10 FindHg: Sync module documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10770
2025-05-14 08:52:57 -04:00
Brad King 4d2c274ab6 Merge topic 'patch-FindSubversion'
95de9682eb FindSubversion: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10771
2025-05-14 08:48:27 -04:00
Brad King 0cde9c8d69 Merge topic 'cuda-13.0-prep'
b62f3257f2 CUDA/Clang: Update nvcc default architectures with CUDA 13 deprecations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !10671
2025-05-14 08:35:24 -04:00
Peter Kokot 22ff5620b3 FindEnvModules: Update documentation
- Updated and synced module documentation with other similar find
  modules.
- Renamed "functions" to more general word "commands". Knowing if some
  module command is a function or a macro is from the user PoV mostly
  irrelevant and it also fits nicer with the rest of the modules.
- Reworded descriptions to make this module slightly clearer to
  understand.
- Moved examples section after commands and added example descriptions.
2025-05-13 19:05:23 +02:00
Brad King 69d4fbf2e2 Merge topic 'patch-FindDoxygen'
d024ddb18a FindDoxygen: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10754
2025-05-13 10:47:18 -04:00
Brad King 68d07edc72 Merge topic 'patch-FindPackageMessage'
50224e00cc FindPackageMessage: Refactor module introduction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10763
2025-05-13 10:39:57 -04:00
Brad King 97c4a408ec Merge topic 'patch-CMakeDependentOption'
f70f972562 CMakeDependentOption: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10768
2025-05-13 10:32:43 -04:00
Brad King c8411d9dd0 Merge topic 'patch-CMakeAddFortranSubdirectory'
8496710537 CMakeAddFortranSubdirectory: Extend module introduction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10764
2025-05-13 10:26:32 -04:00
Brad King 462e119fa3 Merge topic 'patch-CMakePushCheckState'
7771f04753 CMakePushCheckState: Extend documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10761
2025-05-13 10:16:31 -04:00
Brad King b530935bbf Merge topic 'patch-horizontal-lines'
96db6dec8b Find{BISON,FLEX}: Fix Sphinx warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10762
2025-05-13 10:08:30 -04:00
Robert Maynard b62f3257f2 CUDA/Clang: Update nvcc default architectures with CUDA 13 deprecations
As outlined in the CUDA 12.9 release notes sm_5X, sm_6X, and sm_70
are being removed in CUDA 13:

> Maxwell, Pascal, and Volta architectures are now feature-complete with
> no further enhancements planned. While CUDA Toolkit 12.x series will
> continue to support building applications for these architectures,
> offline compilation and library support will be removed in the next
> major CUDA Toolkit version release.
2025-05-13 09:40:00 -04:00
Peter Kokot 95de9682eb FindSubversion: Sync documentation
- Added intro code block with find_package() showing how to find the
  package using this module.
- Used "commands" instead of "macros".
- Synced one missed SUBVERSION_FOUND variable in code to
  Subversion_FOUND (available as of CMake 3.3.).
- Synced few descriptions with other similar find modules.
2025-05-12 23:29:21 +02:00
Peter Kokot 50769f3f10 FindHg: Sync module documentation
- Added intro code block with find_package() showing how to find the
  package with this module.
- Used "command" instead of "macro".
- Synced descriptions with other similar find modules.
2025-05-12 23:21:18 +02:00
Peter Kokot f70f972562 CMakeDependentOption: Sync documentation
- Added intro code block with include() showing how to load this module.
- Used "command" instead of "macro".
- Removed duplicate mention of CMakeDependentOption module in the
  option() documentation.
- Synced captions in examples.
2025-05-12 21:10:29 +02:00
Peter Kokot 8496710537 CMakeAddFortranSubdirectory: Extend module introduction
Changes:
- Added intro code block with include() how to load the module.
- Used "command" instead of "function".
2025-05-12 09:29:02 +02:00
Peter Kokot 50224e00cc FindPackageMessage: Refactor module introduction
Changes:
- Added info how to load this module to the module introduction.
- Renamed "function" to "command" to be synced with other similar CMake
  modules.
- Restructured command description.
- Extended examples to make the two examples more related to each other.
- Simplified links to "Find Modules".
2025-05-12 01:08:25 +02:00
Peter Kokot d024ddb18a FindDoxygen: Update documentation
- Refactored module docs sections.
- Used Doxygen_FOUND variable. The uppercased DOXYGEN_FOUND is also set
  except it has value of "YES" or "NO".
- Added separate examples section.
- Renamed "Functions" to "Commands".
- Documented doxygen_add_docs() command options as a list for better
  overview, and separated the Doxyfile configuration section as part of
  the command docs.
- Synced module docs with other similar find modules.
2025-05-11 08:38:08 +02:00
Peter Kokot 96db6dec8b Find{BISON,FLEX}: Fix Sphinx warnings
This fixes Sphinx warning `Unexpected section title or transition`.

RST transition element (horizontal line) cannot appear inside some
container-like elements.
2025-05-11 08:30:41 +02:00
Peter Kokot 7771f04753 CMakePushCheckState: Extend documentation
Changes:

- Used "commands" instead of "macros".
- Removed mention of "Find Modules" and used "CMake modules" to make it
  more general.
- Improved examples descriptions a bit.
- Refactored module introduction and listed variables affected by this
  module with their descriptions.
- Added "versionadded" for CMAKE_EXTRA_INCLUDE_FILES variable as this
  variable was added to the module after the CheckTypeSize module.
2025-05-11 00:20:02 +02:00
Peter Kokot 9daa3e175d FindDoxygen: Use gerund form "Generating" instead of "Generate"
This aligns the default comment produced by doxygen_add_docs() a bit
with the other CMake comments used at build phase.
2025-05-08 22:36:18 +02:00
Brad King ecd4e0ff16 FindJasper: Fix importing Release and Debug configurations together
In commit 6e8754c625 (FindJasper: Add IMPORTED target, 2021-10-06,
v3.22.0-rc1~20^2) we set `IMPORTED_LOCATION` for both.  Instead,
set `IMPORTED_LOCATION_{RELEASE,DEBUG}`.

Issue: #20601
Reported-by: Craig Scott <craig.scott@crascit.com>
2025-05-07 09:51:17 -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 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 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
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
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 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
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
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
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
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 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 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
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
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
Brad King bf1bb62e74 macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT
In commit 7b19531291 (macOS: Do not pass any SDK/-isysroot to compilers
by default, 2024-11-06, v4.0.0-rc1~511^2) we broke support for using
upstream LLVM/Clang to build for macOS because the compiler has no
default sysroot.  Handle empty `CMAKE_OSX_SYSROOT` with LLVM/Clang by
falling back to the macOS SDK reported by `xcrun --show-sdk-path` .

Fixes: #26863
2025-05-02 13:49:40 -04:00
Brad King 3c992e336b Merge topic 'patch-FindProtobuf-dependencies'
c375b3da9f FindProtobuf: Change protobuf_generate(DEPENDENCIES) argument to multi-value

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10733
2025-05-02 11:09:37 -04:00
Brad King cb0cda350b Merge topic 'patch-FindHDF5'
8d45230141 FindHDF5: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10732
2025-05-02 11:08:30 -04:00
Brad King 74e677f62b Merge topic 'clang-libstdcpp-support'
5750fcd7b4 ci: enable `import_std23` module compilation with clang
52e2785018 experimental/CXXModules: recycle the UUID
28333c4516 Clang/CXXImportStd: support `-stdlib=libstdc++`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10727
2025-05-01 08:40:49 -04:00
Peter Kokot c375b3da9f FindProtobuf: Change protobuf_generate(DEPENDENCIES) argument to multi-value
This is a sync with the upstream `protobuf_generate()` command which has
this argument provided as a multi-value argument as of Protobuf 6.30.0
version (`cmake/protobuf-generate.cmake`).
2025-05-01 05:43:29 +02:00
Peter Kokot 8d45230141 FindHDF5: Update documentation
- Synced module documentation with other similar find modules.
- Added examples section.
- Added and extended a separate components section.
- Reworded introduction to mention that this module first searches for
  the CMake package configuration and then falls back to the wrapper
  compiler usage to find HDF5.
- Added versionadded for HDF5_<LANG>_COMPILER_EXECUTABLE_NO_INTERROGATE
  variables (3.6).
2025-05-01 01:00:53 +02:00