From a4ea35c599c1a3945b8f0f008727dd0c42809884 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 28 Nov 2022 18:17:23 -0500 Subject: [PATCH 1/2] tests: clear CMAKE_GENERATOR Signed-off-by: Henry Schreiner --- docs/changelog.md | 13 ++++++++++++- src/scikit_build_core/builder/get_requires.py | 9 +++++++++ tests/test_get_requires.py | 4 ++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index c77c3507f..604e4b649 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,16 @@ # Changelog +### What's Changed + +Fixes: + +- Windows non-default generators by @henryiii in #137 +- Compute the correct default generator for CMake by @henryiii in #139 + +Testing: + +- Support make missing by @henryiii in #140 + ## Version 0.1.0 First non-prerelease! Scikit-build-core is ready to be used. The remaining @@ -12,7 +23,7 @@ released. Still preparing for release. One small addition to the error printout. -# ## What's Changed +### What's Changed Features: diff --git a/src/scikit_build_core/builder/get_requires.py b/src/scikit_build_core/builder/get_requires.py index 0b101a913..628edacae 100644 --- a/src/scikit_build_core/builder/get_requires.py +++ b/src/scikit_build_core/builder/get_requires.py @@ -11,6 +11,7 @@ from .._compat import tomllib from .._compat.typing import Literal +from .._logging import logger from ..program_search import ( best_program, get_cmake_programs, @@ -54,6 +55,8 @@ def cmake_ninja_for_build_wheel( cmake = best_program(get_cmake_programs(module=False), minimum_version=cmake_min) if cmake is None: packages.append(f"cmake>={cmake_min}") + else: + logger.debug("Found system CMake: {} - not requiring PyPI package", cmake) if ( not sys.platform.startswith("win") @@ -71,5 +74,11 @@ def cmake_ninja_for_build_wheel( or not list(get_make_programs()) ): packages.append(f"ninja>={ninja_min}") + else: + logger.debug( + "Found system Make & not on known platform - not requiring PyPI package for Ninja" + ) + else: + logger.debug("Found system Ninja: {} - not requiring PyPI package", ninja) return packages diff --git a/tests/test_get_requires.py b/tests/test_get_requires.py index 46988e87f..b6202fca0 100644 --- a/tests/test_get_requires.py +++ b/tests/test_get_requires.py @@ -21,6 +21,7 @@ def which_mock(name: str) -> str | None: def test_get_requires_for_build_wheel(fp, monkeypatch): cmake = Path("cmake/path").resolve() monkeypatch.setattr(shutil, "which", which_mock) + monkeypatch.delenv("CMAKE_GENERATOR", raising=False) fp.register([os.fspath(cmake), "--version"], stdout="3.14.0") assert cmake_ninja_for_build_wheel() == ["cmake>=3.15", *ninja] @@ -28,6 +29,7 @@ def test_get_requires_for_build_wheel(fp, monkeypatch): def test_get_requires_for_build_wheel_uneeded(fp, monkeypatch): cmake = Path("cmake/path").resolve() monkeypatch.setattr(shutil, "which", which_mock) + monkeypatch.delenv("CMAKE_GENERATOR", raising=False) fp.register([os.fspath(cmake), "--version"], stdout="3.18.0") assert cmake_ninja_for_build_wheel() == [*ninja] @@ -35,6 +37,7 @@ def test_get_requires_for_build_wheel_uneeded(fp, monkeypatch): def test_get_requires_for_build_wheel_settings(fp, monkeypatch): cmake = Path("cmake/path").resolve() monkeypatch.setattr(shutil, "which", which_mock) + monkeypatch.delenv("CMAKE_GENERATOR", raising=False) fp.register([os.fspath(cmake), "--version"], stdout="3.18.0") config = {"cmake.minimum-version": "3.20"} assert cmake_ninja_for_build_wheel(config) == [ @@ -53,5 +56,6 @@ def test_get_requires_for_build_wheel_pyproject(fp, monkeypatch, tmp_path): ) cmake = Path("cmake/path").resolve() monkeypatch.setattr(shutil, "which", which_mock) + monkeypatch.delenv("CMAKE_GENERATOR", raising=False) fp.register([os.fspath(cmake), "--version"], stdout="3.18.0") assert cmake_ninja_for_build_wheel() == ["cmake>=3.21", *ninja] From e9e2365cd08c079e91305a5c242168fe967a0ca9 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 28 Nov 2022 18:21:36 -0500 Subject: [PATCH 2/2] Update changelog.md --- docs/changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changelog.md b/docs/changelog.md index 604e4b649..371e752c2 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -10,6 +10,7 @@ Fixes: Testing: - Support make missing by @henryiii in #140 +- Clear `CMAKE_GENERATOR` by @henryiii in #141 ## Version 0.1.0