Scikit Build Versions Save

Improved build system generator for CPython C, C++, Cython and Fortran extensions

0.17.6

11 months ago

A small fix release with some new platforms and better testing, including CPython 3.12.0b1.

What's Changed

Bug fixes

  • Support added for SunOS by @mtelka in #983.
  • Support added for AIX (with recent CMake) by @bhuntsman in #988.

Testing

  • Tests now pass on CPython 3.12.0b1 in #879.
  • Tests no longer use pytest-virtualenv in #879.
  • isolated marker now includes test_distribution tests in #879.
  • Tests avoid incorrect get_map match by @keszybz in #990.
  • Fedora testing fix by @LecrisUT in #986 and #938.

Miscellaneous

  • Docs improvements in #979.

New Contributors

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.17.5...0.17.6

0.17.5

1 year ago

A small fix release fixing the passing on of generator specific arguments. This fixes some cases where the Ninja generator was found but then was unable to build. NetBSD was reported to work, so was added to the BSD's supported.

Bug fixes

  • Generator args were missing for actual compile in #975
  • Add support for netbsd & pyodide (future) in #977

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.17.4...0.17.5

0.17.4

1 year ago

A followup fix to the issue 0.17.3 tried to fix. We now have a method to manually test downstream packages, too.

Bug fixes

  • Make sure include dir is found even if the lib is not present in #974.

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.17.3...0.17.4

0.17.3

1 year ago

A small release related to PYTHON_LIBRARY handling changes in 0.17.2; scikit-build 0.17.3 returns an empty string from get_python_library if no Python library is present (like on manylinux), where 0.17.2 returned None, and previous versions returned a non-existent path. Note that adding REQUIRED to find_package(PythonLibs will fail, but it is incorrect (you must not link to libPython.so) and was really just injecting a non-existent path before.

Bug fixes

  • Keep get_python_library return type string if python lib non-existing for now in #959.
  • Avoid 'not found' warning if libs are not found by FindPythonExtensions in #960.
  • FindNumPy should not call FindPythonLibs in #958.

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.17.2...0.17.3

0.17.2

1 year ago

Another small release with fixes for non-MSVC Windows platforms.

What's Changed

Bug fixes

  • RPM spec fix by @LecrisUT in #937.
  • Validate value before returning library path by @dlech in #942.
  • Only add Python_LIBRARY on Windows MSVC in #943 and #944.
  • Slightly nicer traceback for failed compiler in 947.

Testing

  • Hide a few warnings that are expected in #494.

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.17.1...0.17.2

0.17.1

1 year ago

This is a small release fixing a few bugs; the primary one being a change that was triggering a bug in older FindPython. The unused variable messages have been deactivated to simplify output, as well.

What's changed

Bug fixes

  • Older (<3.24) CMake breaks when lib specified in #932
  • An error output was missing formatting in #931
  • Make empty CMAKE_OSX_DEPLOYMENT_TARGET a warning (bug in conda-forge's clang activation fixed upstream) in #934
  • Remove unused variable warnings by in #930

Testing

  • Add Fedora packaging with packit automation by @LecrisUT` in #928
  • Fix codecov ci by @LecrisUT in #929
  • Update some coverage settings in #933

New Contributors

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.17.0...0.17.1

0.17.0

1 year ago

A lot of bug fixes are present in this release, focusing on Windows, PyPy, and cross compiling. We've also improved the compatibility with default setuptools behaviors a little, and enabled some things that were previously unavailable, like overriding the build type via the cmake argument environment variables. We've expanded our CI matrix to include Windows and macOS PyPy and some Fortran tests on Linux. This release requires Python 3.7+.

Bug fixes

  • Match setuptools behavior for include_package_data default by @vyasr in #873.
  • Misc. fixes for F2PY and PythonExtensions modules by @benbovy in #495.
  • Provide more useful error if user provides CMAKE_INSTALL_PREFIX by @vyasr in #872.
  • Stop assuming that .pyx files are in the same directory as CMakeLists.txt by @vyasr in #871.
  • Allow build type overriding in #902.
  • Detect PyPy library correctly on Windows by @gershnik in #904.
  • Include library for FindPython for better Windows cross-compiles in #913. Thanks to @maxbachmann for testing.
  • Fix logic for default generator when cross-compiling for ARM on Windows by @dlech in #917.
  • Use f2py's get_include if present in #877.
  • Fix support for cross-compilation exception using targetLinkLibrariesWithDynamicLookup by @erykoff in #901.
  • Treat empty MACOSX_DEPLOYMENT_TARGET as if it was unset in #918.

Testing

  • Add hello fortran sample package + tests by @benbovy in #493.
  • Add sdist check & fix in #906.
  • Fix some setuptools types in #888.
  • Add PyPy Win & macOS to the CI in #907.
  • Add tests for Python 3.12 Linux alphas in #922.

Miscellaneous

  • Drop Python 3.6 in #862.
  • Move building backend to hatchling in #870.
  • Avoid mutating function input parameters in #899.
  • Use _compat/typing name in #869.

New Contributors

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.16.7...0.17.0

0.16.7

1 year ago

This is expected to be the final release series supporting Python 3.6. 0.17 will require Python 3.7+ and start removing deprecated functionality.

  • Added SKBUILD_GNU_SKIP_LOCAL_SYMBOL_EXPORT_OVERRIDE to disable script in #848, thanks to @aaron-bray and @vyasr.
  • Address a new warning from setuptools in our test suite in #859.
  • Move to using Ruff, update to Black 23, and use Flynt to move more code to f-strings.

0.16.6

1 year ago
  • Fix a discovery regression in 0.16.5 when a cmake folder or cmake.py was present in #848.
  • Correct an issue in the tests where a generator wasn't expanded into a list in #850.

Full Changelog: https://github.com/scikit-build/scikit-build/compare/0.16.5...0.16.6

0.16.5

1 year ago
  • Use cmake module if installed over system installs in #839.
  • Support setting of -DCMAKE_SYSTEM_PROCESSOR if passed for selecting an arch, useful for cross compiling on conda-forge in #843.
  • Fixed a rare encoded error output string on Windows in #842.
  • Better granularity in extras in #838.
  • Add test markers for nosetuptoolsscm and isolated (helpful for package distributions building scikit-build itself like conda) in #837.