Skip to content

Commit

Permalink
feat: use scikit-build-core
Browse files Browse the repository at this point in the history
Signed-off-by: Henry Schreiner <[email protected]>
  • Loading branch information
henryiii committed Apr 30, 2024
1 parent 35b8b61 commit 73cd1d4
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 110 deletions.
14 changes: 8 additions & 6 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@ concurrency:
cancel-in-progress: true

jobs:
build_macos_wheels:
name: macOS (${{ matrix.os }})
build_wheels:
name: Wheels (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ macos-13, macos-14 ]
os: [ macos-13, macos-14, windows-2022 ]

steps:
- uses: actions/checkout@v4
Expand All @@ -39,8 +40,9 @@ jobs:
runs-on: ubuntu-latest
name: Linux (${{ matrix.arch }}, ${{ matrix.tag }})
strategy:
fail-fast: false
matrix:
arch: [ x86_64, i686, aarch64, ppc64le, s390x ]
arch: [ x86_64, i686, aarch64, ppc64le ]
tag: [ manylinux, musllinux ]
# TODO(charlie): Fails to compile, root cause is unexplored.
exclude:
Expand Down Expand Up @@ -85,7 +87,7 @@ jobs:
test_macos_11:
name: Test macOS 11
runs-on: macos-11
needs: build_macos_wheels
needs: build_wheels
steps:
- uses: actions/checkout@v4

Expand All @@ -101,7 +103,7 @@ jobs:
run: python -m whisper_cpp -h

upload_pypi:
needs: [ build_macos_wheels, build_linux_wheels, build_sdist ]
needs: [ build_wheels, build_linux_wheels, build_sdist ]
runs-on: ubuntu-latest
environment: pypi
permissions:
Expand Down
16 changes: 16 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.28...3.29)
project(${SKBUILD_PROJECT_NAME} LANGUAGES CXX)

set(WHISPER_BUILD_EXAMPLES ON CACHE BOOL "" FORCE)

include(FetchContent)
FetchContent_Declare(whisper-cpp
URL https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.5.5.zip
URL_HASH MD5=7262e27c619a0e51e5e2892e429d7481
EXCLUDE_FROM_ALL
)
FetchContent_MakeAvailable(whisper-cpp)

set_target_properties(main PROPERTIES OUTPUT_NAME whisper-cpp EXCLUDE_FROM_ALL FALSE)

install(TARGETS main RUNTIME DESTINATION "${SKBUILD_SCRIPTS_DIR}" RENAME)
91 changes: 0 additions & 91 deletions hatch_build.py

This file was deleted.

21 changes: 8 additions & 13 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
requires = ["scikit-build-core"]
build-backend = "scikit_build_core.build"

[project]
name = "whisper.cpp-cli"
Expand All @@ -12,11 +12,12 @@ requires-python = ">=3.7"
license = { file = "LICENSE" }
dependencies = []

[tool.hatch.build.targets.wheel]
packages = ["whisper_cpp"]

[tool.hatch.build.hooks.custom]
path = "hatch_build.py"
[tool.scikit-build]
minimum-version = "0.9"
cmake.define.BUILD_SHARED_LIBS = false
cmake.version = ">=3.28"
wheel.packages = ["whisper_cpp"]
wheel.py-api = "py3"

[tool.ruff]
line-length = 100
Expand All @@ -29,11 +30,5 @@ test-command = [
"whisper-cpp -h",
"python -m whisper_cpp -h",
]

[[tool.cibuildwheel.overrides]]
select = "*-macosx_x86_64"
environment.MACOSX_DEPLOYMENT_TARGET = "10.12"

[[tool.cibuildwheel.overrides]]
select = "*-macosx_arm64"
environment.MACOSX_DEPLOYMENT_TARGET = "11.0"

0 comments on commit 73cd1d4

Please sign in to comment.