Conversation
This is to match 3.10 specified elsewhere.
The higher-level CMakeLists.txt file sets the value already, so it's unnecessary (and bad) to set it in these submakefiles.
These fixes were originally created by @fdmalone. This replaces `cuda_add_library()` with `add_library()` and makes other adjustments, per current practice described in CMake docs.
Changes, in no particular order: * Use `CMAKE_APPLE_SILICON_PROCESSOR`, a built-in symbol in recent versions of CMake, instead of creating our own for the same purpose. * Add `check_language(CUDA)` to detect CUDA. * Add some `message()`s to print info helpful for debugging.
We mustn't set `-DCMAKE_CUDA_COMPILER` if we don't have `nvcc` on the current system. The previous code added the flag unconditionally.
sergeisakov
approved these changes
Jun 19, 2025
When running cibuildwheel 2.23.3 runs under Python 3.12, the following
warning would show up in the logs:
```
/tmp/pip-build-env-ucihqcl8/overlay/lib/python3.12/site-packages/setuptools/dist.py:759:
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor
of a SPDX license expression:
License :: OSI Approved :: Apache Software License
See
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license
for details.
********************************************************************************
```
This commit removes the license classifier and updates the `license`
keyword to use the SPDX license id.
If the environment didn't already have CMake installed (as happens with a `pip install .` in a fresh venv), then things failed weirdly. Turns out that `detect_language()` isn't enough; `enable_language()` is needed.
Installation via `pip install .` failed in environmwents where the user has not installed `requirements.txt` and `dev-requirements.txt`. The failures had to do with CMake either being the wrong version or not having the CMake CUDA support files. Setup needs to install some critical packages before things will work.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The key fixes for CUDA support to certain CMakeLists.txt files were originally done by @fdmalone and involved avoiding deprecated constructs for finding the CUDA rules and configurations.
This PR additionally updates all the CMake files in various ways:
CMAKE_APPLE_SILICON_PROCESSORsetup.pyto not set-DCMAKE_CUDA_COMPILERunconditionallyThis fixes #765