- 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.
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.
- 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.
- 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.
- 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.
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".
- 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.
This fixes Sphinx warning `Unexpected section title or transition`.
RST transition element (horizontal line) cannot appear inside some
container-like elements.
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.
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>
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
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.
- 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.
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
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: #24321Fixes: #21228Fixes: #19968
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
bf1bb62e74 macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10734
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
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
- 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
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
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`).
- 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).