diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 65622d8..2f9ccc0 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -31,7 +31,7 @@ jobs: run: python -m pip install cibuildwheel build - name: Get dependencies via sdist - run: python -m build --sdist + run: python -m build --sdist -C build-dir=build/sdist - name: Build wheels run: | @@ -44,10 +44,13 @@ jobs: CIBW_TEST_REQUIRES: pytest pytest-httpserver CIBW_TEST_COMMAND: pytest {project}/test CIBW_BUILD_FRONTEND: build + CIBW_CONFIG_SETTINGS_WINDOWS: "build-dir=build/{wheel_tag}" CIBW_BEFORE_BUILD_LINUX: yum install -y expat-devel zlib-devel bzip2-devel lz4-devel CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.0 SKBUILD_CMAKE_ARGS=-DWITH_LZ4=OFF CIBW_BEFORE_BUILD_WINDOWS: vcpkg install bzip2 expat zlib lz4 - CIBW_ENVIRONMENT_WINDOWS: 'CMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake"' + CIBW_ENVIRONMENT_WINDOWS: >- + CMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" + CMAKE_GENERATOR=Ninja CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: 'pipx run delvewheel repair --add-path ${{ matrix.vcpkg }}/bin/ --add-path ${{ matrix.vcpkg }}/debug/bin -w {dest_dir} {wheel}' - uses: actions/upload-artifact@v7 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2bc63e3..ebc313a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -408,10 +408,17 @@ jobs: env: VCPKG_DEFAULT_BINARY_CACHE: C:/vcpkg_binary_cache + CMAKE_GENERATOR: Ninja + CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake steps: - uses: actions/checkout@v7 + - name: Set up MSVC + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: amd64 + - uses: actions/cache@v6 with: path: | @@ -423,7 +430,7 @@ jobs: shell: bash - name: Install packages - run: vcpkg install bzip2:x64-windows expat:x64-windows zlib:x64-windows lz4:x86-windows + run: vcpkg install bzip2:x64-windows expat:x64-windows zlib:x64-windows lz4:x64-windows shell: bash - name: Set up Python 3.8 @@ -434,7 +441,7 @@ jobs: - name: Build package 3.8 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -447,7 +454,7 @@ jobs: - name: Build package 3.9 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -460,7 +467,7 @@ jobs: - name: Build package 3.10 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -473,7 +480,7 @@ jobs: - name: Build package 3.11 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -486,7 +493,7 @@ jobs: - name: Build package 3.12 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -499,7 +506,7 @@ jobs: - name: Build package 3.13 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -512,7 +519,7 @@ jobs: - name: Build package 3.14 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -526,7 +533,7 @@ jobs: - name: Build package 3.15 run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -547,10 +554,17 @@ jobs: env: VCPKG_DEFAULT_BINARY_CACHE: C:/vcpkg_binary_cache + CMAKE_GENERATOR: Ninja + CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake steps: - uses: actions/checkout@v7 + - name: Set up MSVC + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: amd64 + - uses: actions/cache@v6 with: path: | @@ -563,7 +577,7 @@ jobs: - name: Install packages run: | - vcpkg install bzip2:x64-windows expat:x64-windows zlib:x64-windows lz4:x86-windows + vcpkg install bzip2:x64-windows expat:x64-windows zlib:x64-windows lz4:x64-windows shell: bash - name: Set up Python 3.13t @@ -574,7 +588,7 @@ jobs: - name: Build package 3.13t run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -588,7 +602,7 @@ jobs: - name: Build package 3.14t run: | pip install build wheel - python -m build + python -m build -C build-dir="$GITHUB_WORKSPACE/build/{state}-{wheel_tag}" shell: bash env: CMAKE_TOOLCHAIN_FILE: C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -697,7 +711,7 @@ jobs: shell: bash env: PYVER: ${{ matrix.python-version }} - if: matrix.python-version != '3.14t' + if: matrix.python-version != '3.13t' - name: Install osmium (without shapely) run: | @@ -709,7 +723,7 @@ jobs: shell: bash env: PYVER: ${{ matrix.python-version }} - if: matrix.python-version == '3.14t' + if: matrix.python-version == '3.13t' - name: Run tests run: | diff --git a/pyproject.toml b/pyproject.toml index 1b9b48e..23aacda 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,6 +69,8 @@ pyosmium-up-to-date = "osmium.tools.pyosmium_up_to_date:main" [tool.scikit-build] minimum-version = "build-system.requires" cmake.version = ">=3.15" +ninja.version = ">=1.11" +ninja.make-fallback = false [tool.scikit-build.sdist] cmake = true