This is the list of changes to scikit-build between each release. For full details, see the commit logs at http://github.com/scikit-build/scikit-build
- Fix miscellaneous pylint warnings.
- Ensure CMake arguments passed to scikit-build and starting with
-DCMAKE_*are passed to the test project allowing to determine which generator to use. For example, this ensures that arguments like
-DCMAKE_MAKE_PROGRAM:FILEPATH=/path/to/programare passed. See #256.
py_modulessupport: Python modules generated by CMake are now properly included in binary distribution.
- Improve developer mode support for
py_modulesgenerated by CMake.
- Do not implicitly install python modules when the beginning of their name
match a package explicitly listed. For example, if a project has a package
foo/__init__.pyand a module
fooConfig.py, and only package
foowas listed in
fooConfig.pyis not installed anymore.
- CMake module targetLinkLibrariesWithDynamicLookup: Fix the caching of dynamic lookup variables. See #240 fixed by @blowekamp.
- wheel: As suggested by @thewtex, unpinning version of the package
==0.29.0will avoid uninstalling a newer version of wheel package on up-to-date system.
test_sdist_hide_listingto (1) check if python modules are packaged into source and wheel distributions and (2) check if python modules are copied into the source tree when developer mode is enabled.
skbuild.setuptools_wrap.strip_package()to handle empty package.
skbuild.command.build_py.build_py.find_modules()function to look for py_module file in
skbuild.utils.PythonModuleFinderto search for python module in the CMake install tree.
skbuild.setuptools_wrap._consolidate()to copy file into the CMake tree only if it exists.
skbuild.setuptools_wrap._copy_file()to create directory only if there is one associated with the destination file.
- Improve user experience by running CMake only if needed. See #207
- Add support for cmake_with_sdist setup keyword argument.
- Add support for
--skip-cmakeglobal setup command-line options.
- scikit-build conda-forge recipe added by @isuruf. See conda-forge/staged-recipes#1989
- Add support for development mode. (#187).
- Improved C Runtime, Compiler and Build System Generator selection:
- If available, uses Ninja build system generator on all platforms. An advantages is that ninja automatically parallelizes the build based on the number of CPUs.
- Automatically set the expected Visual Studio environment when
NMake Makefilesgenerators are used.
- Support Microsoft Visual C++ Compiler for Python 2.7. See #216.
- Prompt for user to install the required compiler if it is not available. See #27.
- Improve targetLinkLibrariesWithDynamicLookup CMake Module extending
the API of
- Update long signature:
<LinkFlagsVar>is now optional
- Add support for short signature:
check_dynamic_lookup(<ResultVar>). See SimpleITK/SimpleITK#80.
- add C Runtime, Compiler and Build System Generator section
- add Release Notes section
- allow github issues and users to easily be referenced using
:user:`username`markups. This functionality is enabled by the sphinx-issue sphinx extension
- make_a_release: Ensure uploaded distributions are signed
skbuild.cmaker.CMaker.configure(): Change parameter name from
generator_name. This is consistent with how generator are identified in CMake documentation. This change breaks backward compatibility.
skbuild.platform_specifics.abstract.CMakePlatform.get_best_generator(): Change parameter name from
generator_name. Note that this function is also directly importable from
skbuild.platform_specifics. This change breaks backward compatibility.
skbuild.platform_specifics.abstract.CMakeGenerator: This class allows to handle generators as sophisticated object instead of simple string. This is done anticipating the support for CMAKE_GENERATOR_PLATFORM and CMAKE_GENERATOR_TOOLSET. Note also that the class is directly importable from
skbuild.platform_specificsand is now returned by
skbuild.platform_specifics.get_best_generator(). This change breaks backward compatibility.
- Remove unused “on_failure: event logging” and “notifications: GitHubPullRequest”
- Remove unused SKIP env variable
- Add support for
- allow to build distributions without displaying files being included
- useful when building large project on Continuous Integration service limiting the amount of log produced by the build
- CMake module:
python_extension_module: add support for module suffix
- Do not package python modules under “purelib” dir in non-pure wheel
- CMake module:
- tests/samples: Simplify project removing unneeded install rules and file copy
- Simplify continuous integration
- Fix coverage target
- Add docs-only target allowing to regenerate the Sphinx documentation without opening a new page in the browser.
- Improve support for “pure”, “CMake” and “hybrid” python package
- a “pure” package is a python package that have all files living in the project source tree
- an “hybrid” package is a python package that have some files living in the project source tree and some files installed by CMake
- a “CMake” package is a python package that is fully generated and installed by CMake without any of his files existing in the source tree
- Add support for source distribution. See #84
- Add support for setup arguments specific to scikit-build:
cmake_args: additional option passed to CMake
cmake_install_dir: relative directory where the CMake project being built should be installed
cmake_source_dir: location of the CMake project
- Add CMake module
- Automatically set
package_dirto reasonable defaults
- Support building project without CMakeLists.txt
- Improvement of documentation published on http://scikit-build.readthedocs.io/en/latest/
- Add docstrings for most of the modules, classes and functions
- Ensure each test run in a dedicated temporary directory
- Add tests to raise coverage from 70% to 91%
- Refactor CI testing infrastructure introducing CI drivers written in python for AppVeyor, CircleCI and TravisCI
- Switch from
- Relocate sample projects into a dedicated home: https://github.com/scikit-build/scikit-build-sample-projects
- Refactor commands introducing
- Remove unused code