CI win build enable all feature

This commit is contained in:
2022-10-20 06:27:33 +00:00
committed by GitHub
parent aa28471302
commit 7576c0b0dc
4 changed files with 103 additions and 2 deletions

View File

@@ -176,7 +176,7 @@ jobs:
id: cache_key id: cache_key
run: | run: |
cd scripts cd scripts
python get_cache_key.py --prefix=win zlib pkgconf expat exiv2 openssl || exit 1 python get_cache_key.py --prefix=win zlib pkgconf expat exiv2 openssl libzip x264 ffmpeg || exit 1
- name: Cache - name: Cache
id: cache id: cache
uses: actions/cache@v2 uses: actions/cache@v2
@@ -228,6 +228,27 @@ jobs:
run: | run: |
COPY /Y scripts\build_win_openssl.bat || exit 1 COPY /Y scripts\build_win_openssl.bat || exit 1
CALL build_win_openssl.bat || exit 1 CALL build_win_openssl.bat || exit 1
- name: Build libzip
if: steps.cache.outputs.cache-hit != 'true'
run: |
COPY /Y scripts\build_win_libzip.bat || exit 1
CALL build_win_libzip.bat || exit 1
- name: Build x264
if: steps.cache.outputs.cache-hit != 'true'
shell: msys2 {0}
env:
MSYS2_PATH_TYPE: inherit
run: |
cp scripts/build_win_x264.sh -v ./ || exit 1
./build_win_x264.sh || exit 1
- name: Build ffmpeg
if: steps.cache.outputs.cache-hit != 'true'
shell: msys2 {0}
env:
MSYS2_PATH_TYPE: inherit
run: |
cp scripts/build_win_ffmpeg.sh -v ./ || exit 1
./build_win_ffmpeg.sh || exit 1
- name: Build - name: Build
run: | run: |
SET PKG_CONFIG_PATH=%CD%\clib\lib\pkgconfig SET PKG_CONFIG_PATH=%CD%\clib\lib\pkgconfig
@@ -235,4 +256,4 @@ jobs:
SET PATH=%PATH%;%CD%\clib\bin SET PATH=%PATH%;%CD%\clib\bin
SET OPENSSL_LIB_DIR=%CD%\clib\lib SET OPENSSL_LIB_DIR=%CD%\clib\lib
SET OPENSSL_INCLUDE_DIR=%CD%\clib\include SET OPENSSL_INCLUDE_DIR=%CD%\clib\include
cargo build --features exif -vv || exit 1 cargo build --features all -vv || exit 1

View File

@@ -0,0 +1,27 @@
export PREFIX=`pwd`/clib
export PREFIX2=`cygpath -w $PREFIX`
export "PATH=$PREFIX/bin:$PATH"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
export "LIB=$LIB;$PREFIX2/lib"
export "INCLUDE=$INCLUDE;$PREFIX2/include"
mkdir -p cbuild && cd cbuild || exit 1
git clone --depth 1 'https://git.ffmpeg.org/ffmpeg.git' && cd ffmpeg || exit 1
./configure \
--enable-gpl \
--enable-shared \
--disable-static \
--enable-version3 \
--prefix=${PREFIX2//\\//} \
--disable-doc \
--enable-libx264 \
--disable-programs \
--pkg-config-flags="--env-only" \
--toolchain=msvc
if [ $? != 0 ]; then
cat ffbuild/config.log
exit 1
fi
make -j8 || exit 1
make -j8 install || exit 1
mv -fv $PREFIX/bin/*.lib $PREFIX/lib || exit 1
mv -fv */*.pdb $PREFIX/bin || exit 1

View File

@@ -0,0 +1,35 @@
@ECHO OFF
SETLOCAL
SET PREFIX=%CD%\clib
SET PKG_CONFIG_DIR=%PREFIX%\lib\pkgconfig
IF NOT EXIST cbuild (
MD cbuild || EXIT /B 1
)
CD cbuild || EXIT /B 1
git clone --depth 1 "https://github.com/nih-at/libzip" || EXIT /B %ERRORLEVEL%
CD libzip || EXIT /B 1
IF NOT EXIST build (
MD build || EXIT /B 1
)
CD build || EXIT /B 1
cmake ^
-G Ninja ^
-DCMAKE_PREFIX_PATH=%PREFIX% ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=%PREFIX% ^
-DINSTALL_PKGCONFIG_DIR=%PKG_CONFIG_DIR% ^
-DENABLE_COMMONCRYPTO=OFF ^
-DENABLE_GNUTLS=OFF ^
-DENABLE_MBEDTLS=OFF ^
-DENABLE_OPENSSL=ON ^
-DENABLE_WINDOWS_CRYPTO=ON ^
-DENABLE_BZIP2=OFF ^
-DENABLE_LZMA=OFF ^
-DENABLE_ZSTD=OFF ^
-DBUILD_REGRESS=OFF ^
-DBUILD_EXAMPLES=OFF ^
-DBUILD_DOC=OFF ^
-DBUILD_TOOLS=OFF ^
../ || EXIT /B %ERRORLEVEL%
ninja && ninja install || ninja && ninja install || EXIT /B %ERRORLEVEL%
ENDLOCAL

18
scripts/build_win_x264.sh Normal file
View File

@@ -0,0 +1,18 @@
export PREFIX=`pwd`/clib
export PREFIX2=`cygpath -w $PREFIX`
export "PATH=$PREFIX/bin:$PATH"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
export "LIB=$LIB;$PREFIX2/lib"
export "INCLUDE=$INCLUDE;$PREFIX2/include"
mkdir -p cbuild && cd cbuild || exit 1
git clone --depth 1 "https://code.videolan.org/videolan/x264.git" && cd x264 || exit 1
export CC=cl
export PKGCONFIG='pkg-config --msvc --env-only'
./configure \
--prefix=${PREFIX2//\\//} \
--disable-cli \
--enable-shared \
|| exit 1
make -j8 || exit 1
make -j8 install || exit 1
mv -v $PREFIX/lib/libx264.dll.lib $PREFIX/lib/x264.lib || exit 1