Skip to content

Commit

Permalink
Try to build codecs on Windows too
Browse files Browse the repository at this point in the history
  • Loading branch information
jlaine committed Apr 26, 2020
1 parent 0801e41 commit 2ad89fe
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 2 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,19 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install yasm
if: matrix.os == 'windows-latest'
run: curl -L -o 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\yasm.exe' http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe
- name: Build codecs
env:
CIBW_BEFORE_BUILD: scripts/build-codecs /tmp/vendor
CIBW_BEFORE_BUILD_WINDOWS: scripts\build-codecs.bat C:\cibw\vendor
CIBW_BUILD: cp38-*
CIBW_TEST_COMMAND: python -c "import dummy"
run: |
Expand Down
24 changes: 24 additions & 0 deletions scripts/build-codecs.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
set destdir=%1

set outputfile=output\codecs-win%PYTHON_ARCH%.tar.bz2
if "%PYTHON_ARCH%" == "64" (
set triplet=x64-windows-static
) else (
set triplet=x86-windows-static
)

vcpkg install libvpx:%triplet% opus:%triplet%

if exist %destdir% (
rmdir /s /q %destdir%
)
mkdir %destdir%
mkdir %destdir%\include
mkdir %destdir%\lib
xcopy C:\vcpkg\installed\%triplet%\include %destdir%\include\ /E
xcopy C:\vcpkg\installed\%triplet%\lib %destdir%\lib\ /E

if not exist output (
mkdir output
)
tar cjvf %outputfile% -C %destdir% include lib
4 changes: 3 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
if sys.platform == "win32":
include_dirs = ["C:\\cibw\\vendor\\include"]
library_dirs = ["C:\\cibw\\vendor\\lib"]
libraries = ["opus", "vpxmt"]
else:
include_dirs = ["/tmp/vendor/include"]
library_dirs = ["/tmp/vendor/lib"]
libraries = ["opus", "vpx"]

setuptools.setup(
name="dummy",
Expand All @@ -17,7 +19,7 @@
"dummy.binding",
include_dirs=include_dirs,
library_dirs=library_dirs,
libraries=["opus", "vpx",],
libraries=libraries,
sources=["src/dummy/binding.c"],
),
],
Expand Down

0 comments on commit 2ad89fe

Please sign in to comment.