CMP0146 — CMake 4.3.0 Documentation

# CMP0146

Added in version 3.27.

The `FindCUDA` module is removed.

The `FindCUDA` module has been deprecated since CMake 3.10. CMake 3.27 and above prefer to not provide the module. This policy provides compatibility for projects that have not been ported away from it.

Projects using the `FindCUDA` module should be updated to use CMake's first-class `CUDA` language support. List `CUDA` among the languages named in the top-level call to the `project()` command, or call the `enable_language()` command with `CUDA`. Then one can add CUDA (`.cu`) sources directly to targets, similar to other languages.

The `OLD` behavior of this policy is for `find_package(CUDA)` to load the deprecated module. The `NEW` behavior is for uses of the module to fail as if it does not exist.

This policy was introduced in CMake version 3.27. It may be set by `cmake_policy()` or `cmake_minimum_required()`. If it is not set, CMake warns, and uses `OLD` behavior.

Note

The `OLD` behavior of a policy is deprecated by definition and may be removed in a future version of CMake.