Updated CI scripts.
This commit is contained in:
parent
1c014e1485
commit
4eb656e986
9 changed files with 106 additions and 303 deletions
27
.travis.yml
27
.travis.yml
|
@ -20,25 +20,11 @@ matrix:
|
|||
dist: focal
|
||||
compiler: gcc
|
||||
env:
|
||||
- ARCH_ROOT_MINGW=x86_64
|
||||
- DAILY_BUILD=1
|
||||
- os: linux
|
||||
dist: focal
|
||||
compiler: gcc
|
||||
env:
|
||||
- ARCH_ROOT_MINGW=i686
|
||||
- DAILY_BUILD=1
|
||||
- os: linux
|
||||
dist: focal
|
||||
compiler: gcc
|
||||
env:
|
||||
- ARCH_ROOT_MINGW=x86_64
|
||||
- RELEASE_BUILD=1
|
||||
- os: linux
|
||||
dist: focal
|
||||
compiler: gcc
|
||||
env:
|
||||
- ARCH_ROOT_MINGW=i686
|
||||
- RELEASE_BUILD=1
|
||||
- os: osx
|
||||
osx_image: xcode10.2
|
||||
|
@ -88,19 +74,6 @@ install:
|
|||
- chmod +x ports/ci/travis/install_deps.sh
|
||||
- ports/ci/travis/install_deps.sh
|
||||
|
||||
before_script: |
|
||||
if [ "${TRAVIS_OS_NAME}" = linux ]; then
|
||||
export CXX=${ARCH_ROOT_MINGW}-w64-mingw32-g++
|
||||
export COMPILESPEC=win32-g++
|
||||
elif [ "${TRAVIS_OS_NAME}" = osx ]; then
|
||||
brew link --force qt5
|
||||
if [ "${CXX}" = g++ ]; then
|
||||
export COMPILESPEC=macx-g++
|
||||
elif [ "${CXX}" = clang++ ]; then
|
||||
export COMPILESPEC=macx-clang
|
||||
fi
|
||||
fi
|
||||
|
||||
script:
|
||||
- chmod +x ports/ci/travis/build.sh
|
||||
- ports/ci/travis/build.sh
|
||||
|
|
44
appveyor.yml
44
appveyor.yml
|
@ -10,15 +10,9 @@ build:
|
|||
parallel: true
|
||||
verbosity: detailed
|
||||
|
||||
configuration:
|
||||
- release
|
||||
# - debug
|
||||
|
||||
environment:
|
||||
global:
|
||||
PYTHON_VERSION: Python39
|
||||
QMAKESPEC: win32-g++
|
||||
MAKETOOL: mingw32-make
|
||||
INSTALL_PREFIX: C:/projects/akvirtualcamera/ports/deploy/temp_priv
|
||||
# api key from https://bintray.com/profile/edit
|
||||
# encrypted in https://ci.appveyor.com/tools/encrypt
|
||||
|
@ -26,44 +20,18 @@ environment:
|
|||
secure: seneRk4ppI4bquIsdweI8pd8FT0RXUvU2LOUNGSBEA28IhFQijypil2CfC3WtJxa
|
||||
|
||||
matrix:
|
||||
- MSYS2_BUILD: 1
|
||||
- QTDIR: C:\Qt\5.15\mingw81_64
|
||||
TOOLSDIR: C:\Qt\Tools\mingw810_64
|
||||
- QTDIR: C:\Qt\5.15\mingw81_32
|
||||
TOOLSDIR: C:\Qt\Tools\mingw810_32
|
||||
PLATFORM: x86
|
||||
- QTDIR: C:\Qt\5.15\msvc2019
|
||||
TOOLSDIR: C:\Qt\Tools\QtCreator
|
||||
QMAKESPEC: win32-msvc
|
||||
VSPATH: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
|
||||
MAKETOOL: jom
|
||||
PLATFORM: x86
|
||||
- QTDIR: C:\Qt\5.15\msvc2019_64
|
||||
TOOLSDIR: C:\Qt\Tools\QtCreator
|
||||
QMAKESPEC: win32-msvc
|
||||
VSPATH: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
|
||||
MAKETOOL: jom
|
||||
- CMAKE_GENERATOR: MSYS Makefiles
|
||||
- CMAKE_GENERATOR: Visual Studio 16 2019
|
||||
|
||||
install:
|
||||
- if "%MSYS2_BUILD%" == "" (
|
||||
ports\ci\appveyor\install_deps.bat
|
||||
) else (
|
||||
C:\msys64\usr\bin\bash -lc "cd /c/projects/akvirtualcamera && ./ports/ci/appveyor/install_deps.sh"
|
||||
)
|
||||
- ports\ci\appveyor\install_deps.bat
|
||||
|
||||
build_script:
|
||||
- if "%MSYS2_BUILD%" == "" (
|
||||
ports\ci\appveyor\build.bat
|
||||
) else (
|
||||
C:\msys64\usr\bin\bash -lc "cd /c/projects/akvirtualcamera && ./ports/ci/appveyor/build.sh '%INSTALL_PREFIX%'"
|
||||
)
|
||||
- ports\ci\appveyor\build.bat
|
||||
|
||||
after_build:
|
||||
- if "%MSYS2_BUILD%" == "" (
|
||||
ports\ci\appveyor\deploy.bat
|
||||
) else (
|
||||
C:\msys64\usr\bin\bash -lc "cd /c/projects/akvirtualcamera && ./ports/ci/appveyor/deploy.sh"
|
||||
)
|
||||
- ports\ci\appveyor\deploy.bat
|
||||
|
||||
# - ports\ci\appveyor\push_artifacts.bat
|
||||
#
|
||||
#deploy_script:
|
||||
|
|
|
@ -16,53 +16,64 @@ REM along with Webcamoid. If not, see <http://www.gnu.org/licenses/>.
|
|||
REM
|
||||
REM Web-Site: http://webcamoid.github.io/
|
||||
|
||||
if "%PLATFORM%" == "x86" (
|
||||
set VC_ARGS=x86
|
||||
) else (
|
||||
set VC_ARGS=amd64
|
||||
)
|
||||
|
||||
rem Visual Studio init
|
||||
if not "%VSPATH%" == "" call "%VSPATH%\vcvarsall" %VC_ARGS%
|
||||
|
||||
set PATH_ORIG=%PATH%
|
||||
set PATH=%QTDIR%\bin;%TOOLSDIR%\bin;%PATH%
|
||||
|
||||
qmake -query
|
||||
qmake akvirtualcamera.pro ^
|
||||
CONFIG+=%CONFIGURATION% ^
|
||||
CONFIG+=silent ^
|
||||
PREFIX="%INSTALL_PREFIX%"
|
||||
|
||||
%MAKETOOL% -j4
|
||||
|
||||
if "%DAILY_BUILD%" == "" goto EndScript
|
||||
|
||||
if "%PLATFORM%" == "x86" (
|
||||
set DRV_ARCH=x64
|
||||
) else (
|
||||
set DRV_ARCH=x86
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Building %DRV_ARCH% virtual camera driver
|
||||
echo Building x64 virtual camera driver
|
||||
echo.
|
||||
|
||||
mkdir akvcam
|
||||
cd akvcam
|
||||
set PATH_ORIG=%Path%
|
||||
mkdir build-x64
|
||||
cd build-x64
|
||||
|
||||
set PATH=%QTDIR_ALT%\bin;%TOOLSDIR_ALT%\bin;%PATH_ORIG%
|
||||
qmake -query
|
||||
qmake ^
|
||||
CONFIG+=silent ^
|
||||
..\akvirtualcamera.pro
|
||||
%MAKETOOL% -j4
|
||||
if "%CMAKE_GENERATOR%" == "MSYS Makefiles" (
|
||||
set Path=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%Path%
|
||||
cmake ^
|
||||
-G "%CMAKE_GENERATOR%" ^
|
||||
-DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%" ^
|
||||
..
|
||||
)
|
||||
|
||||
if "%CMAKE_GENERATOR:~0,13%" == "Visual Studio" (
|
||||
set Path=C:\Program Files\CMake\bin;%Path%
|
||||
cmake ^
|
||||
-G "%CMAKE_GENERATOR%" ^
|
||||
-A x64 ^
|
||||
-DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%" ^
|
||||
..
|
||||
)
|
||||
|
||||
cmake --build .
|
||||
cd ..
|
||||
mkdir AkVirtualCamera.plugin\%DRV_ARCH%
|
||||
xcopy ^
|
||||
akvcam\AkVirtualCamera.plugin\%DRV_ARCH%\* ^
|
||||
AkVirtualCamera.plugin\%DRV_ARCH% ^
|
||||
/i /y
|
||||
|
||||
:EndScript
|
||||
echo.
|
||||
echo Building x86 virtual camera driver
|
||||
echo.
|
||||
|
||||
set Path=%PATH_ORIG%
|
||||
mkdir build-x86
|
||||
cd build-x86
|
||||
|
||||
if "%CMAKE_GENERATOR%" == "MSYS Makefiles" (
|
||||
set Path=C:\msys64\mingw32\bin;C:\msys64\usr\bin;%Path%
|
||||
cmake ^
|
||||
-G "%CMAKE_GENERATOR%" ^
|
||||
-DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%" ^
|
||||
..
|
||||
)
|
||||
|
||||
if "%CMAKE_GENERATOR:~0,13%" == "Visual Studio" (
|
||||
set Path=C:\Program Files\CMake\bin;%Path%
|
||||
cmake ^
|
||||
-G "%CMAKE_GENERATOR%" ^
|
||||
-A Win32 ^
|
||||
-DCMAKE_INSTALL_PREFIX="%INSTALL_PREFIX%" ^
|
||||
..
|
||||
)
|
||||
|
||||
cmake --build .
|
||||
cd ..
|
||||
|
||||
mkdir build-x64\AkVirtualCamera.plugin\x86
|
||||
xcopy ^
|
||||
build-x86\AkVirtualCamera.plugin\x86\* ^
|
||||
build-x64\AkVirtualCamera.plugin\x86 ^
|
||||
/i /y
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Webcamoid, webcam capture application.
|
||||
# Copyright (C) 2019 Gonzalo Exequiel Pedone
|
||||
#
|
||||
# Webcamoid is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Webcamoid is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Webcamoid. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Web-Site: http://webcamoid.github.io/
|
||||
|
||||
export PATH=/mingw64/bin:$PATH
|
||||
qmake -query
|
||||
qmake akvirtualcamera.pro \
|
||||
CONFIG+=silent \
|
||||
PREFIX="$1"
|
||||
make -j4
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Webcamoid, webcam capture application.
|
||||
# Copyright (C) 2019 Gonzalo Exequiel Pedone
|
||||
#
|
||||
# Webcamoid is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Webcamoid is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Webcamoid. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Web-Site: http://webcamoid.github.io/
|
||||
|
||||
cd ports/deploy
|
||||
git clone https://github.com/webcamoid/DeployTools.git
|
||||
cd ../..
|
||||
|
||||
export PATH=/mingw64/bin:$PATH
|
||||
export PYTHONPATH="${PWD}/ports/deploy/DeployTools"
|
||||
python3 ports/deploy/deploy.py
|
|
@ -18,3 +18,18 @@ REM Web-Site: http://webcamoid.github.io/
|
|||
|
||||
rem Installing various utilities
|
||||
choco install -y jfrog-cli
|
||||
|
||||
if "%CMAKE_GENERATOR%" == "MSYS Makefiles" (
|
||||
set Path=C:\msys64\usr\bin;%Path%
|
||||
pacman -Syy
|
||||
pacman --noconfirm --needed -S ^
|
||||
cmake ^
|
||||
git ^
|
||||
make ^
|
||||
pkg-config ^
|
||||
python3 ^
|
||||
mingw-w64-x86_64-cmake ^
|
||||
mingw-w64-i686-cmake ^
|
||||
mingw-w64-x86_64-pkg-config ^
|
||||
mingw-w64-i686-pkg-config
|
||||
)
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Webcamoid, webcam capture application.
|
||||
# Copyright (C) 2019 Gonzalo Exequiel Pedone
|
||||
#
|
||||
# Webcamoid is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Webcamoid is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Webcamoid. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Web-Site: http://webcamoid.github.io/
|
||||
|
||||
pacman -Syy
|
||||
pacman --noconfirm --needed -S \
|
||||
git \
|
||||
make \
|
||||
pkg-config \
|
||||
python3 \
|
||||
mingw-w64-x86_64-pkg-config \
|
||||
mingw-w64-x86_64-qt5
|
|
@ -18,132 +18,49 @@
|
|||
#
|
||||
# Web-Site: http://webcamoid.github.io/
|
||||
|
||||
if [ -z "${DISABLE_CCACHE}" ]; then
|
||||
if [ "${CXX}" = clang++ ]; then
|
||||
UNUSEDARGS="-Qunused-arguments"
|
||||
fi
|
||||
|
||||
COMPILER="ccache ${CXX} ${UNUSEDARGS}"
|
||||
else
|
||||
COMPILER=${CXX}
|
||||
fi
|
||||
|
||||
if [ "${TRAVIS_OS_NAME}" = linux ]; then
|
||||
EXEC='sudo ./root.x86_64/bin/arch-chroot root.x86_64'
|
||||
fi
|
||||
|
||||
BUILDSCRIPT=dockerbuild.sh
|
||||
|
||||
if [ "${TRAVIS_OS_NAME}" = linux ]; then
|
||||
sudo mount --bind root.x86_64 root.x86_64
|
||||
sudo mount --bind $HOME root.x86_64/$HOME
|
||||
|
||||
QMAKE_CMD=/usr/${ARCH_ROOT_MINGW}-w64-mingw32/lib/qt/bin/qmake
|
||||
|
||||
cat << EOF > ${BUILDSCRIPT}
|
||||
#!/bin/sh
|
||||
|
||||
export LC_ALL=C
|
||||
export HOME=$HOME
|
||||
EOF
|
||||
|
||||
if [ ! -z "${DAILY_BUILD}" ]; then
|
||||
cat << EOF >> ${BUILDSCRIPT}
|
||||
export DAILY_BUILD=1
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat << EOF >> ${BUILDSCRIPT}
|
||||
cd $TRAVIS_BUILD_DIR
|
||||
${QMAKE_CMD} -query
|
||||
${QMAKE_CMD} -spec ${COMPILESPEC} akvirtualcamera.pro \
|
||||
CONFIG+=silent \
|
||||
QMAKE_CXX="${COMPILER}"
|
||||
EOF
|
||||
chmod +x ${BUILDSCRIPT}
|
||||
sudo cp -vf ${BUILDSCRIPT} root.x86_64/$HOME/
|
||||
|
||||
${EXEC} bash $HOME/${BUILDSCRIPT}
|
||||
elif [ "${TRAVIS_OS_NAME}" = osx ]; then
|
||||
${EXEC} qmake -query
|
||||
${EXEC} qmake -spec ${COMPILESPEC} akvirtualcamera.pro \
|
||||
CONFIG+=silent \
|
||||
QMAKE_CXX="${COMPILER}"
|
||||
fi
|
||||
|
||||
if [ -z "${NJOBS}" ]; then
|
||||
NJOBS=4
|
||||
fi
|
||||
|
||||
if [ "${TRAVIS_OS_NAME}" = linux ]; then
|
||||
cat << EOF > ${BUILDSCRIPT}
|
||||
#!/bin/sh
|
||||
|
||||
export LC_ALL=C
|
||||
export HOME=$HOME
|
||||
EOF
|
||||
|
||||
if [ ! -z "${DAILY_BUILD}" ]; then
|
||||
cat << EOF >> ${BUILDSCRIPT}
|
||||
export DAILY_BUILD=1
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat << EOF >> ${BUILDSCRIPT}
|
||||
cd $TRAVIS_BUILD_DIR
|
||||
make -j${NJOBS}
|
||||
EOF
|
||||
chmod +x ${BUILDSCRIPT}
|
||||
sudo cp -vf ${BUILDSCRIPT} root.x86_64/$HOME/
|
||||
|
||||
${EXEC} bash $HOME/${BUILDSCRIPT}
|
||||
sudo umount root.x86_64/$HOME
|
||||
sudo umount root.x86_64
|
||||
else
|
||||
${EXEC} make -j${NJOBS}
|
||||
fi
|
||||
|
||||
if [ "${TRAVIS_OS_NAME}" = linux ]; then
|
||||
if [ "$ARCH_ROOT_MINGW" = x86_64 ]; then
|
||||
mingw_arch=i686
|
||||
mingw_compiler=${COMPILER/x86_64/i686}
|
||||
mingw_dstdir=x86
|
||||
else
|
||||
mingw_arch=x86_64
|
||||
mingw_compiler=${COMPILER/i686/x86_64}
|
||||
mingw_dstdir=x64
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Building $mingw_arch virtual camera driver"
|
||||
echo
|
||||
sudo mount --bind root.x86_64 root.x86_64
|
||||
sudo mount --bind $HOME root.x86_64/$HOME
|
||||
|
||||
cat << EOF > ${BUILDSCRIPT}
|
||||
#!/bin/sh
|
||||
|
||||
export LC_ALL=C
|
||||
export HOME=$HOME
|
||||
mkdir -p $TRAVIS_BUILD_DIR/akvcam
|
||||
cd $TRAVIS_BUILD_DIR/akvcam
|
||||
/usr/${mingw_arch}-w64-mingw32/lib/qt/bin/qmake \
|
||||
-spec ${COMPILESPEC} \
|
||||
../akvirtualcamera.pro \
|
||||
CONFIG+=silent \
|
||||
QMAKE_CXX="${mingw_compiler}"
|
||||
make -j${NJOBS}
|
||||
echo
|
||||
echo "Building x64 virtual camera driver"
|
||||
echo
|
||||
mkdir build-x64
|
||||
cd build-x64
|
||||
/usr/x86_64-w64-mingw32/bin/cmake ..
|
||||
cmake --build .
|
||||
cd ..
|
||||
echo
|
||||
echo "Building x86 virtual camera driver"
|
||||
echo
|
||||
mkdir build-x86
|
||||
cd build-x86
|
||||
/usr/i686-w64-mingw32/bin/cmake ..
|
||||
cmake --build .
|
||||
EOF
|
||||
chmod +x ${BUILDSCRIPT}
|
||||
sudo cp -vf ${BUILDSCRIPT} root.x86_64/$HOME/
|
||||
|
||||
EXEC='sudo ./root.x86_64/bin/arch-chroot root.x86_64'
|
||||
${EXEC} bash $HOME/${BUILDSCRIPT}
|
||||
|
||||
sudo mkdir -p ports/deploy/temp_priv/AkVirtualCamera.plugin/${mingw_dstdir}
|
||||
sudo mkdir -p build-x64/AkVirtualCamera.plugin/x86
|
||||
sudo cp -rvf \
|
||||
akvcam/AkVirtualCamera.plugin/${mingw_dstdir}/* \
|
||||
ports/deploy/temp_priv/AkVirtualCamera.plugin/${mingw_dstdir}/
|
||||
build-x86/AkVirtualCamera.plugin/x86/* \
|
||||
build-x64/AkVirtualCamera.plugin/x86/
|
||||
|
||||
sudo umount root.x86_64/$HOME
|
||||
sudo umount root.x86_64
|
||||
elif [ "${TRAVIS_OS_NAME}" = osx ]; then
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
fi
|
||||
|
|
|
@ -82,7 +82,7 @@ EOF
|
|||
wine \
|
||||
mingw-w64-pkg-config \
|
||||
mingw-w64-gcc \
|
||||
mingw-w64-qt5-base
|
||||
mingw-w64-cmake
|
||||
|
||||
qtIFW=QtInstallerFramework-win-x86.exe
|
||||
|
||||
|
@ -115,17 +115,17 @@ EOF
|
|||
sudo umount root.x86_64/$HOME
|
||||
sudo umount root.x86_64
|
||||
elif [ "${TRAVIS_OS_NAME}" = osx ]; then
|
||||
brew link --force qt5
|
||||
brew update
|
||||
brew upgrade
|
||||
brew link --overwrite numpy
|
||||
brew install \
|
||||
p7zip \
|
||||
python \
|
||||
ccache \
|
||||
cmake \
|
||||
p7zip \
|
||||
pkg-config \
|
||||
qt5
|
||||
python
|
||||
brew link --overwrite python
|
||||
|
||||
brew link python
|
||||
qtIFW=QtInstallerFramework-mac-x64.dmg
|
||||
|
||||
|
|
Loading…
Reference in a new issue