- 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.
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.
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
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`.
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
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
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
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
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
bf1bb62e74 macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10734
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
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
fdccb8846c cmFindCommonDebugState: adopt event writing logic
716dfd3b1e cmFindCommon: track debug state as an object
c6d097135d cmFindBaseDebugState: factor out a base class
bd5cb1f8e6 cmFindCommon: use `DebugModeEnabled` to query for debug mode
76ea613f4c cmFindBaseDebugState: get the command name directly from the object
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10713