diff --git a/.travis.yml b/.travis.yml
index 8b30c0b..9b09979 100644
--- a/.travis.yml
+++ b/.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
diff --git a/appveyor.yml b/appveyor.yml
index 243d444..0791e2a 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -2,7 +2,7 @@ version: 9.0.0.{build}-{branch}
os: MinGW
image: Visual Studio 2019
-
+
platform:
- x64
@@ -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:
diff --git a/ports/ci/appveyor/build.bat b/ports/ci/appveyor/build.bat
index 45d86ca..50aa4c5 100755
--- a/ports/ci/appveyor/build.bat
+++ b/ports/ci/appveyor/build.bat
@@ -16,53 +16,64 @@ REM along with Webcamoid. If not, see .
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
diff --git a/ports/ci/appveyor/build.sh b/ports/ci/appveyor/build.sh
deleted file mode 100644
index 5a805bd..0000000
--- a/ports/ci/appveyor/build.sh
+++ /dev/null
@@ -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 .
-#
-# Web-Site: http://webcamoid.github.io/
-
-export PATH=/mingw64/bin:$PATH
-qmake -query
-qmake akvirtualcamera.pro \
- CONFIG+=silent \
- PREFIX="$1"
-make -j4
diff --git a/ports/ci/appveyor/deploy.sh b/ports/ci/appveyor/deploy.sh
deleted file mode 100644
index 9ab2ab6..0000000
--- a/ports/ci/appveyor/deploy.sh
+++ /dev/null
@@ -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 .
-#
-# 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
diff --git a/ports/ci/appveyor/install_deps.bat b/ports/ci/appveyor/install_deps.bat
index bbf6ae6..ca65509 100755
--- a/ports/ci/appveyor/install_deps.bat
+++ b/ports/ci/appveyor/install_deps.bat
@@ -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
+)
diff --git a/ports/ci/appveyor/install_deps.sh b/ports/ci/appveyor/install_deps.sh
deleted file mode 100644
index e224f68..0000000
--- a/ports/ci/appveyor/install_deps.sh
+++ /dev/null
@@ -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 .
-#
-# 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
diff --git a/ports/ci/travis/build.sh b/ports/ci/travis/build.sh
index d5b5ab4..33f236f 100644
--- a/ports/ci/travis/build.sh
+++ b/ports/ci/travis/build.sh
@@ -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}"
+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}
-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}
-EOF
- chmod +x ${BUILDSCRIPT}
- sudo cp -vf ${BUILDSCRIPT} root.x86_64/$HOME/
-
- ${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
diff --git a/ports/ci/travis/install_deps.sh b/ports/ci/travis/install_deps.sh
index ae03d92..6a6da60 100644
--- a/ports/ci/travis/install_deps.sh
+++ b/ports/ci/travis/install_deps.sh
@@ -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