CMake와 Python 패키징 연결
C나 C++ 등의 코드로 만든 확장 모듈을 Python 패키지에 담으려면 컴파일 과정과 패키징 과정을 함께 구성해야 한다. Scikit-build-core는 CMake의 빌드 기능을 Python의 빌드 백엔드 인터페이스에 연결한다. 과학 계산의 요구에서 출발했지만 CMake를 사용하는 다른 패키지에도 적용할 수 있다.
기존 Scikit-build와의 차이
Setuptools 기반의 기존 Scikit-build를 처음부터 다시 구현한 도구다. 직접 백엔드로 사용할 때 Setuptools나 Distutils, Wheel 패키지에 의존하지 않는 구조이며 필요한 경우에만 CMake와 Ninja를 추가로 준비한다. 이름이 비슷하더라도 기존 구현의 구성 방식과 같다고 가정해서는 안 된다.
빌드 대상과 출력 조정
설정 파일과 빌드 프런트엔드의 설정 전달 기능, 환경 변수로 동작을 조정할 수 있다. 빌드 대상과 설치 구성 요소를 선택하거나 wheel의 추가 폴더에 내용을 쓰는 기능도 제공한다. 빌드가 완료된 뒤에는 확장 모듈과 필요한 데이터가 배포 파일의 올바른 위치에 들어갔는지 확인해야 한다.
관련 문서
Cibuildwheel / CMake / Ninja / Python Build / Setuptools