mirror of
https://github.com/Palakis/obs-websocket.git
synced 2024-08-30 18:12:16 +00:00
Merge branch '4.x-current' into feature/t-bar
This commit is contained in:
commit
93c2dab634
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,6 +4,7 @@
|
|||||||
/build32/
|
/build32/
|
||||||
/build64/
|
/build64/
|
||||||
/release/
|
/release/
|
||||||
|
/package/
|
||||||
/installer/Output/
|
/installer/Output/
|
||||||
.idea
|
.idea
|
||||||
.vscode
|
.vscode
|
||||||
|
49
.travis.yml
49
.travis.yml
@ -1,49 +0,0 @@
|
|||||||
language: cpp
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
# AWS key ID
|
|
||||||
- secure: pAiNUGVbjP12BfnWPk0FFTkbnk4Tocvv88XiT3rzRqkQaD7/iyEogLBfHM4nOEgFiIMHbC41aE83w5JgRNPwn6mTgoQBOglzqq1tGuXfqPyV2VStk8beji1evubGoVjjPaoPTFyIdQc5GGxdHyogI/ed9Hb3ccyykYvjyolj9XoCiW42QHx60AHGwl+So+dEa8xydj9SLRPlZ/AitmI/cPVN3YotA7s37BLFiab54enxk7T4rwpR1nU0HVfoCpn5F4wZYxRq+LlSVFzC8vVE9cpDSLS5kjrZIZaT18tYG1/untCj+wqMIZbghaJXLtPSRW2YPHcJTz8q1YSXnJ19+0uiAIMAqaVv0kD5BAM97byYDBW+b9H6SYFkb/Pw/qcK9amMzMBjDPFpYFkl9Q2kzhsNs3HsZf/flSZjtrkQJiP3SOi/KvKzVK9X4Wym6hYZWHgmMTTYFrvr6BYnf2GkpfKNjm1d2kc0NNrq4d5H4NOEQB8MP+QH+o+BPeM6d9dthrUc1Pw+BXzOAr85CN4qtpPGoAl/Dbfgd6eu/88E2LpUufW2VFAOPWjykSOqzSN3orh7AaWuE34VFEnQ+2y3uIE8AKoyXzJv6zYkyNnNewKZeGe2kKYNwLn5UxQA9JEj7a+tvVevk4xBSkkjFAvjSG2z8/F1FXNbEfoLX1Hz/bU=
|
|
||||||
# AWS key secret
|
|
||||||
- secure: bGwljoP3E1OVBXLXox0O6p8kwQXLcNQ8YDKVa4H8u9Y+Ic7uqE4iV3rYS3ynNWSBMVRWY3ZbyClnhrCNwRhBAlcd8qWSJdpjVzs6HdQyzhuKa1P3V4FJPb7upGP/5R/DECGwex8Mun9dmXpYDak75LxfKIJUidPis5VDCYqul7k/xVVCou6Ctjpj7vQhWXDj2G/py+mdB8DERhymnQCtyK1Ziu8c4QlFKByZmnD72GFm/h3JPI1Pq1V2mz3x6x6GaYjb9Rdbd0UNwqjGQX4q2M/c3GEJa6B2JBCoTncawNZBNnPUF9qtv+zh0TNaNHMRWX13AJ/qYB+nVDub0C9b/6Mc48mt0Tv4ze15MproVrylZdV6qHYEG8yGPBqpTVbRP6gv6Y2TXIHWoTzqA+F/Gv2IDChyHXsld/MQQS2MSo5iaYktIrZKtX8Z0qAmTzPwIVBromaSI3vrE7UH0fRSQ6fAM8+Tn+MRthOBdqu23kS1dnG+X2CPbUhBfsJp0OSwVQD5jQtA51/sREVeGFiJvzQIkvwQDjb5MYilsRnwmoBXemkLmqaviXVY4rz1o5AIvz2pgZS2YggK1xHZCuI5tSjcNEkb77VwZTfsqrdDo9EJh6VgfdnGlHQhR2/A5hUJ4ANpJ/LgZlgfVp71Xg2GWQW6M4Znc5uj6A6xLBkO6FA=
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- node_modules
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: linux
|
|
||||||
env: _generate_docs
|
|
||||||
script: "./CI/generate-docs.sh"
|
|
||||||
|
|
||||||
- os: linux
|
|
||||||
env: _linux_build
|
|
||||||
dist: trusty
|
|
||||||
sudo: required
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
before_install:
|
|
||||||
- docker run -d --name xenial -v $(dirname $(pwd)):/root -v /home/travis/package:/package
|
|
||||||
-e TRAVIS_BRANCH="$TRAVIS_BRANCH" -e TRAVIS_TAG="$TRAVIS_TAG" -w /root nimmis/ubuntu:16.04
|
|
||||||
- docker exec -it xenial /root/obs-websocket/CI/install-dependencies-xenial.sh
|
|
||||||
script:
|
|
||||||
- docker exec -it xenial /root/obs-websocket/CI/build-xenial.sh
|
|
||||||
after_success:
|
|
||||||
- docker exec -it xenial /root/obs-websocket/CI/package-xenial.sh
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
- provider: s3
|
|
||||||
region: eu-central-1
|
|
||||||
bucket: obs-websocket-linux-builds
|
|
||||||
access_key_id: "$AWS_ID"
|
|
||||||
secret_access_key: "$AWS_SECRET"
|
|
||||||
local_dir: /home/travis/package
|
|
||||||
skip_cleanup: true
|
|
||||||
acl: public_read
|
|
||||||
on:
|
|
||||||
repo: Palakis/obs-websocket
|
|
||||||
condition:
|
|
||||||
- "$TRAVIS_OS_NAME = linux"
|
|
||||||
- "-d /home/travis/package"
|
|
||||||
all_branches: true
|
|
@ -1,8 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
cd /root/obs-websocket
|
|
||||||
|
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
||||||
make -j4
|
make -j4
|
@ -18,25 +18,25 @@ REM Set up the build flag as undefined.
|
|||||||
set "BuildOBS="
|
set "BuildOBS="
|
||||||
|
|
||||||
REM Check the last tag successfully built by CI.
|
REM Check the last tag successfully built by CI.
|
||||||
if exist C:\projects\obs-studio-last-tag-built.txt (
|
if exist "%OBSPath%\obs-studio-last-tag-built.txt" (
|
||||||
set /p OBSLastTagBuilt=<C:\projects\obs-studio-last-tag-built.txt
|
set /p OBSLastTagBuilt=<"%OBSPath%\obs-studio-last-tag-built.txt"
|
||||||
) else (
|
) else (
|
||||||
set OBSLastTagBuilt=0
|
set OBSLastTagBuilt=0
|
||||||
)
|
)
|
||||||
|
|
||||||
REM If obs-studio directory exists, run git pull and get the latest tag number.
|
REM If obs-studio directory exists, run git pull and get the latest tag number.
|
||||||
if exist C:\projects\obs-studio\ (
|
if exist %OBSPath% (
|
||||||
echo obs-studio directory exists
|
echo obs-studio directory exists
|
||||||
echo Updating tag info
|
echo Updating tag info
|
||||||
cd C:\projects\obs-studio\
|
cd /D %OBSPath%
|
||||||
git describe --tags --abbrev=0 --exclude="*-rc*" > C:\projects\latest-obs-studio-tag-pre-pull.txt
|
git describe --tags --abbrev=0 --exclude="*-rc*" > "%OBSPath%\latest-obs-studio-tag-pre-pull.txt"
|
||||||
set /p OBSLatestTagPrePull=<C:\projects\latest-obs-studio-tag-pre-pull.txt
|
set /p OBSLatestTagPrePull=<"%OBSPath%\latest-obs-studio-tag-pre-pull.txt"
|
||||||
git checkout master
|
git checkout master
|
||||||
git pull
|
git pull
|
||||||
git describe --tags --abbrev=0 --exclude="*-rc*" > C:\projects\latest-obs-studio-tag-post-pull.txt
|
git describe --tags --abbrev=0 --exclude="*-rc*" > "%OBSPath%\latest-obs-studio-tag-post-pull.txt"
|
||||||
set /p OBSLatestTagPostPull=<C:\projects\latest-obs-studio-tag-post-pull.txt
|
set /p OBSLatestTagPostPull=<"%OBSPath%\latest-obs-studio-tag-post-pull.txt"
|
||||||
set /p OBSLatestTag=<C:\projects\latest-obs-studio-tag-post-pull.txt
|
set /p OBSLatestTag=<"%OBSPath%\latest-obs-studio-tag-post-pull.txt"
|
||||||
echo %OBSLatestTagPostPull%> C:\projects\latest-obs-studio-tag.txt
|
echo %OBSLatestTagPostPull%> "%OBSPath%\latest-obs-studio-tag.txt"
|
||||||
)
|
)
|
||||||
|
|
||||||
REM Check the obs-studio tags for mismatches.
|
REM Check the obs-studio tags for mismatches.
|
||||||
@ -58,22 +58,22 @@ if not %OBSLatestTagPostPull%==%OBSLastTagBuilt% (
|
|||||||
|
|
||||||
REM If obs-studio directory does not exist, clone the git repo, get the latest
|
REM If obs-studio directory does not exist, clone the git repo, get the latest
|
||||||
REM tag number, and set the build flag.
|
REM tag number, and set the build flag.
|
||||||
if not exist C:\projects\obs-studio (
|
if not exist %OBSPath% (
|
||||||
echo obs-studio directory does not exist
|
echo obs-studio directory does not exist
|
||||||
git clone https://github.com/obsproject/obs-studio
|
git clone https://github.com/obsproject/obs-studio %OBSPath%
|
||||||
cd C:\projects\obs-studio\
|
cd /D %OBSPath%\
|
||||||
git describe --tags --abbrev=0 --exclude="*-rc*" > C:\projects\obs-studio-latest-tag.txt
|
git describe --tags --abbrev=0 --exclude="*-rc*" > "%OBSPath%\obs-studio-latest-tag.txt"
|
||||||
set /p OBSLatestTag=<C:\projects\obs-studio-latest-tag.txt
|
set /p OBSLatestTag=<"%OBSPath%\obs-studio-latest-tag.txt"
|
||||||
set BuildOBS=true
|
set BuildOBS=true
|
||||||
)
|
)
|
||||||
|
|
||||||
REM If the needed obs-studio libs for this build_config do not exist,
|
REM If the needed obs-studio libs for this build_config do not exist,
|
||||||
REM set the build flag.
|
REM set the build flag.
|
||||||
if not exist C:\projects\obs-studio\build32\libobs\%build_config%\obs.lib (
|
if not exist %OBSPath%\build32\libobs\%build_config%\obs.lib (
|
||||||
echo obs-studio\build32\libobs\%build_config%\obs.lib does not exist
|
echo obs-studio\build32\libobs\%build_config%\obs.lib does not exist
|
||||||
set BuildOBS=true
|
set BuildOBS=true
|
||||||
)
|
)
|
||||||
if not exist C:\projects\obs-studio\build32\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib (
|
if not exist %OBSPath%\build32\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib (
|
||||||
echo obs-studio\build32\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib does not exist
|
echo obs-studio\build32\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib does not exist
|
||||||
set BuildOBS=true
|
set BuildOBS=true
|
||||||
)
|
)
|
||||||
@ -95,35 +95,43 @@ echo:
|
|||||||
REM If the build flag is set, build obs-studio.
|
REM If the build flag is set, build obs-studio.
|
||||||
if defined BuildOBS (
|
if defined BuildOBS (
|
||||||
echo Building obs-studio...
|
echo Building obs-studio...
|
||||||
|
cd /D %OBSPath%
|
||||||
echo git checkout %OBSLatestTag%
|
echo git checkout %OBSLatestTag%
|
||||||
git checkout %OBSLatestTag%
|
git checkout %OBSLatestTag%
|
||||||
echo:
|
echo:
|
||||||
|
|
||||||
echo Removing previous build dirs...
|
echo Removing previous build dirs...
|
||||||
if exist build rmdir /s /q C:\projects\obs-studio\build
|
if exist build32 rmdir /s /q "%OBSPath%\build32"
|
||||||
if exist build32 rmdir /s /q C:\projects\obs-studio\build32
|
if exist build64 rmdir /s /q "%OBSPath%\build64"
|
||||||
if exist build64 rmdir /s /q C:\projects\obs-studio\build64
|
|
||||||
echo Making new build dirs...
|
echo Making new build dirs...
|
||||||
mkdir build
|
|
||||||
mkdir build32
|
mkdir build32
|
||||||
mkdir build64
|
mkdir build64
|
||||||
|
|
||||||
echo Running cmake for obs-studio %OBSLatestTag% 32-bit...
|
echo Running cmake for obs-studio %OBSLatestTag% 32-bit...
|
||||||
cd ./build32
|
cd build32
|
||||||
cmake -G "Visual Studio 14 2015" -DBUILD_CAPTIONS=true -DDISABLE_PLUGINS=true -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true ..
|
cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_SYSTEM_VERSION=10.0 -DQTDIR="%QTDIR32%" -DDepsPath="%DepsPath32%" -DBUILD_CAPTIONS=true -DDISABLE_PLUGINS=true -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true ..
|
||||||
echo:
|
echo:
|
||||||
echo:
|
echo:
|
||||||
|
|
||||||
echo Running cmake for obs-studio %OBSLatestTag% 64-bit...
|
echo Running cmake for obs-studio %OBSLatestTag% 64-bit...
|
||||||
cd ../build64
|
cd ..\build64
|
||||||
cmake -G "Visual Studio 14 2015 Win64" -DBUILD_CAPTIONS=true -DDISABLE_PLUGINS=true -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true ..
|
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0 -DQTDIR="%QTDIR64%" -DDepsPath="%DepsPath64%" -DBUILD_CAPTIONS=true -DDISABLE_PLUGINS=true -DCOPIED_DEPENDENCIES=false -DCOPY_DEPENDENCIES=true ..
|
||||||
echo:
|
echo:
|
||||||
echo:
|
echo:
|
||||||
echo Building obs-studio %OBSLatestTag% 32-bit ^(Build Config: %build_config%^)...
|
|
||||||
call msbuild /m /p:Configuration=%build_config% C:\projects\obs-studio\build32\obs-studio.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
REM echo Building obs-studio %OBSLatestTag% 32-bit ^(Build Config: %build_config%^)...
|
||||||
echo Building obs-studio %OBSLatestTag% 64-bit ^(Build Config: %build_config%^)...
|
REM call msbuild /m /p:Configuration=%build_config% %OBSPath%\build32\obs-studio.sln
|
||||||
call msbuild /m /p:Configuration=%build_config% C:\projects\obs-studio\build64\obs-studio.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
||||||
|
REM echo Building obs-studio %OBSLatestTag% 64-bit ^(Build Config: %build_config%^)...
|
||||||
|
REM call msbuild /m /p:Configuration=%build_config% %OBSPath%\build64\obs-studio.sln
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
git describe --tags --abbrev=0 > C:\projects\obs-studio-last-tag-built.txt
|
git describe --tags --abbrev=0 > "%OBSPath%\obs-studio-last-tag-built.txt"
|
||||||
set /p OBSLastTagBuilt=<C:\projects\obs-studio-last-tag-built.txt
|
set /p OBSLastTagBuilt=<"%OBSPath%\obs-studio-last-tag-built.txt"
|
||||||
) else (
|
) else (
|
||||||
echo Last OBS tag built is: %OBSLastTagBuilt%
|
echo Last OBS tag built is: %OBSLastTagBuilt%
|
||||||
echo No need to rebuild OBS.
|
echo No need to rebuild OBS.
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dir "%OBSPath%\libobs"
|
6
CI/download-obs-deps.cmd
Normal file
6
CI/download-obs-deps.cmd
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
if not exist %DepsBasePath% (
|
||||||
|
curl -o %DepsBasePath%.zip -kLO https://obsproject.com/downloads/dependencies2017.zip -f --retry 5 -C -
|
||||||
|
7z x %DepsBasePath%.zip -o%DepsBasePath%
|
||||||
|
) else (
|
||||||
|
echo "OBS dependencies are already there. Download skipped."
|
||||||
|
)
|
@ -4,6 +4,9 @@ echo "-- Generating documentation."
|
|||||||
echo "-- Node version: $(node -v)"
|
echo "-- Node version: $(node -v)"
|
||||||
echo "-- NPM version: $(npm -v)"
|
echo "-- NPM version: $(npm -v)"
|
||||||
|
|
||||||
|
git fetch origin
|
||||||
|
git checkout ${CHECKOUT_REF/refs\/heads\//}
|
||||||
|
|
||||||
cd docs
|
cd docs
|
||||||
npm install
|
npm install
|
||||||
npm run build
|
npm run build
|
||||||
@ -15,19 +18,14 @@ if git diff --quiet; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "4.x-current" ]; then
|
|
||||||
echo "-- Skipping documentation deployment because this is either a pull request or a non-master branch."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
REMOTE_URL="$(git config remote.origin.url)"
|
REMOTE_URL="$(git config remote.origin.url)"
|
||||||
TARGET_REPO=${REMOTE_URL/https:\/\/github.com\//github.com/}
|
TARGET_REPO=${REMOTE_URL/https:\/\/github.com\//github.com/}
|
||||||
GITHUB_REPO=https://${GH_TOKEN:-git}@${TARGET_REPO}
|
GITHUB_REPO=https://${GH_TOKEN:-git}@${TARGET_REPO}
|
||||||
|
|
||||||
git config user.name "Travis CI"
|
git config user.name "Azure CI"
|
||||||
git config user.email "$COMMIT_AUTHOR_EMAIL"
|
git config user.email "$COMMIT_AUTHOR_EMAIL"
|
||||||
|
|
||||||
git add ./generated
|
git add ./generated
|
||||||
git pull
|
git pull
|
||||||
git commit -m "docs(travis): Update protocol.md - $(git rev-parse --short HEAD) [skip ci]"
|
git commit -m "docs(ci): Update protocol.md - $(git rev-parse --short HEAD) [skip ci]"
|
||||||
git push -q $GITHUB_REPO HEAD:$TRAVIS_BRANCH
|
git push -q $GITHUB_REPO
|
||||||
|
19
CI/install-dependencies-ubuntu.sh
Executable file
19
CI/install-dependencies-ubuntu.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
sudo add-apt-repository -y ppa:obsproject/obs-studio
|
||||||
|
sudo apt-get -qq update
|
||||||
|
|
||||||
|
sudo apt-get install -y \
|
||||||
|
libc-dev-bin \
|
||||||
|
libc6-dev git \
|
||||||
|
build-essential \
|
||||||
|
checkinstall \
|
||||||
|
cmake \
|
||||||
|
obs-studio \
|
||||||
|
qtbase5-dev
|
||||||
|
|
||||||
|
# Dirty hack
|
||||||
|
sudo wget -O /usr/include/obs/obs-frontend-api.h https://raw.githubusercontent.com/obsproject/obs-studio/25.0.0/UI/obs-frontend-api/obs-frontend-api.h
|
||||||
|
|
||||||
|
sudo ldconfig
|
@ -1,19 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
add-apt-repository -y ppa:obsproject/obs-studio
|
|
||||||
apt-get -qq update
|
|
||||||
|
|
||||||
apt-get install -y \
|
|
||||||
libc-dev-bin \
|
|
||||||
libc6-dev git \
|
|
||||||
build-essential \
|
|
||||||
checkinstall \
|
|
||||||
cmake \
|
|
||||||
obs-studio \
|
|
||||||
qtbase5-dev
|
|
||||||
|
|
||||||
# Dirty hack
|
|
||||||
wget -O /usr/include/obs/obs-frontend-api.h https://raw.githubusercontent.com/obsproject/obs-studio/25.0.0/UI/obs-frontend-api/obs-frontend-api.h
|
|
||||||
|
|
||||||
ldconfig
|
|
8
CI/install-qt-win.cmd
Normal file
8
CI/install-qt-win.cmd
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
if not exist %QtBaseDir% (
|
||||||
|
curl -kLO https://cdn-fastly.obsproject.com/downloads/Qt_5.10.1.7z -f --retry 5 -z Qt_5.10.1.7z
|
||||||
|
7z x Qt_5.10.1.7z -o%QtBaseDir%
|
||||||
|
) else (
|
||||||
|
echo "Qt is already installed. Download skipped."
|
||||||
|
)
|
||||||
|
|
||||||
|
dir %QtBaseDir%
|
@ -1,6 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
REM Set default values to use AppVeyor's built-in Qt.
|
|
||||||
set QTDIR32=C:\Qt\5.10.1\msvc2015
|
|
||||||
set QTDIR64=C:\Qt\5.10.1\msvc2015_64
|
|
||||||
set QTCompileVersion=5.10.1
|
|
@ -19,7 +19,6 @@ export VERSION="$GIT_HASH-$GIT_BRANCH_OR_TAG"
|
|||||||
export LATEST_VERSION="$GIT_BRANCH_OR_TAG"
|
export LATEST_VERSION="$GIT_BRANCH_OR_TAG"
|
||||||
|
|
||||||
export FILENAME="obs-websocket-$VERSION.pkg"
|
export FILENAME="obs-websocket-$VERSION.pkg"
|
||||||
export LATEST_FILENAME="obs-websocket-latest-$LATEST_VERSION.pkg"
|
|
||||||
|
|
||||||
echo "[obs-websocket] Modifying obs-websocket.so"
|
echo "[obs-websocket] Modifying obs-websocket.so"
|
||||||
install_name_tool \
|
install_name_tool \
|
||||||
@ -40,4 +39,3 @@ packagesbuild ./CI/macos/obs-websocket.pkgproj
|
|||||||
|
|
||||||
echo "[obs-websocket] Renaming obs-websocket.pkg to $FILENAME"
|
echo "[obs-websocket] Renaming obs-websocket.pkg to $FILENAME"
|
||||||
mv ./release/obs-websocket.pkg ./release/$FILENAME
|
mv ./release/obs-websocket.pkg ./release/$FILENAME
|
||||||
cp ./release/$FILENAME ./release/$LATEST_FILENAME
|
|
||||||
|
23
CI/package-ubuntu.sh
Executable file
23
CI/package-ubuntu.sh
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
export GIT_HASH=$(git rev-parse --short HEAD)
|
||||||
|
export PKG_VERSION="1-$GIT_HASH-$BRANCH_SHORT_NAME-git"
|
||||||
|
|
||||||
|
if [[ "$BRANCH_FULL_NAME" =~ "^refs/tags/" ]]; then
|
||||||
|
export PKG_VERSION="$BRANCH_SHORT_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ./build
|
||||||
|
|
||||||
|
PAGER="cat" sudo checkinstall -y --type=debian --fstrans=no --nodoc \
|
||||||
|
--backup=no --deldoc=yes --install=no \
|
||||||
|
--pkgname=obs-websocket --pkgversion="$PKG_VERSION" \
|
||||||
|
--pkglicense="GPLv2.0" --maintainer="stephane.lepin@gmail.com" \
|
||||||
|
--pkggroup="video" \
|
||||||
|
--pkgsource="https://github.com/Palakis/obs-websocket" \
|
||||||
|
--requires="obs-studio,libqt5core5a,libqt5widgets5,qt5-image-formats-plugins" \
|
||||||
|
--pakdir="../package"
|
||||||
|
|
||||||
|
sudo chmod ao+r ../package/*
|
12
CI/package-windows.cmd
Normal file
12
CI/package-windows.cmd
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
mkdir package
|
||||||
|
cd package
|
||||||
|
|
||||||
|
git rev-parse --short HEAD > package-version.txt
|
||||||
|
set /p PackageVersion=<package-version.txt
|
||||||
|
del package-version.txt
|
||||||
|
|
||||||
|
REM Package ZIP archive
|
||||||
|
7z a "obs-websocket-%PackageVersion%-Windows.zip" "..\release\*"
|
||||||
|
|
||||||
|
REM Build installer
|
||||||
|
iscc ..\installer\installer.iss /O. /F"obs-websocket-%PackageVersion%-Windows"
|
@ -1,25 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd /root/obs-websocket
|
|
||||||
|
|
||||||
export GIT_HASH=$(git rev-parse --short HEAD)
|
|
||||||
export PKG_VERSION="1-$GIT_HASH-$TRAVIS_BRANCH-git"
|
|
||||||
|
|
||||||
if [ -n "${TRAVIS_TAG}" ]; then
|
|
||||||
export PKG_VERSION="$TRAVIS_TAG"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd /root/obs-websocket/build
|
|
||||||
|
|
||||||
PAGER="cat" checkinstall -y --type=debian --fstrans=no --nodoc \
|
|
||||||
--backup=no --deldoc=yes --install=no \
|
|
||||||
--pkgname=obs-websocket --pkgversion="$PKG_VERSION" \
|
|
||||||
--pkglicense="GPLv2.0" --maintainer="stephane.lepin@gmail.com" \
|
|
||||||
--pkggroup="video" \
|
|
||||||
--pkgsource="https://github.com/Palakis/obs-websocket" \
|
|
||||||
--requires="obs-studio libqt5core5a libqt5widgets5 qt5-image-formats-plugins" \
|
|
||||||
--pakdir="/package"
|
|
||||||
|
|
||||||
chmod ao+r /package/*
|
|
7
CI/prepare-windows.cmd
Normal file
7
CI/prepare-windows.cmd
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
mkdir build32
|
||||||
|
mkdir build64
|
||||||
|
|
||||||
|
cd build32
|
||||||
|
cmake -G "Visual Studio 16 2019" -A Win32 -DCMAKE_SYSTEM_VERSION=10.0 -DQTDIR="%QTDIR32%" -DLibObs_DIR="%OBSPath%\build32\libobs" -DLIBOBS_INCLUDE_DIR="%OBSPath%\libobs" -DLIBOBS_LIB="%OBSPath%\build32\libobs\%build_config%\obs.lib" -DOBS_FRONTEND_LIB="%OBSPath%\build32\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib" ..
|
||||||
|
cd ..\build64
|
||||||
|
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0 -DQTDIR="%QTDIR64%" -DLibObs_DIR="%OBSPath%\build64\libobs" -DLIBOBS_INCLUDE_DIR="%OBSPath%\libobs" -DLIBOBS_LIB="%OBSPath%\build64\libobs\%build_config%\obs.lib" -DOBS_FRONTEND_LIB="%OBSPath%\build64\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib" ..
|
@ -8,16 +8,9 @@ set(CMAKE_AUTOUIC ON)
|
|||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
if (WIN32 OR APPLE)
|
|
||||||
include(external/FindLibObs.cmake)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_definitions(-DASIO_STANDALONE)
|
add_definitions(-DASIO_STANDALONE)
|
||||||
|
|
||||||
if (UNIX)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (WIN32 OR APPLE)
|
if (WIN32 OR APPLE)
|
||||||
include(external/FindLibObs.cmake)
|
include(external/FindLibObs.cmake)
|
||||||
endif()
|
endif()
|
||||||
@ -91,6 +84,10 @@ if(WIN32)
|
|||||||
message(FATAL_ERROR "Could not find OBS Frontend API's library !")
|
message(FATAL_ERROR "Could not find OBS Frontend API's library !")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
add_compile_options("/MP")
|
||||||
|
endif()
|
||||||
|
|
||||||
add_definitions(-D_WEBSOCKETPP_CPP11_STL_)
|
add_definitions(-D_WEBSOCKETPP_CPP11_STL_)
|
||||||
|
|
||||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
40
appveyor.yml
40
appveyor.yml
@ -1,40 +0,0 @@
|
|||||||
environment:
|
|
||||||
CURL_VERSION: 7.39.0
|
|
||||||
|
|
||||||
install:
|
|
||||||
- git submodule update --init --recursive
|
|
||||||
- cd C:\projects\
|
|
||||||
- if not exist dependencies2015.zip curl -kLO https://obsproject.com/downloads/dependencies2015.zip -f --retry 5 -C -
|
|
||||||
- 7z x dependencies2015.zip -odependencies2015
|
|
||||||
- set DepsPath32=%CD%\dependencies2015\win32
|
|
||||||
- set DepsPath64=%CD%\dependencies2015\win64
|
|
||||||
- call C:\projects\obs-websocket\CI\install-setup-qt.cmd
|
|
||||||
- set build_config=RelWithDebInfo
|
|
||||||
- call C:\projects\obs-websocket\CI\install-build-obs.cmd
|
|
||||||
- cd C:\projects\obs-websocket\
|
|
||||||
- mkdir build32
|
|
||||||
- mkdir build64
|
|
||||||
- cd ./build32
|
|
||||||
- cmake -G "Visual Studio 14 2015" -DQTDIR="%QTDIR32%" -DLibObs_DIR="C:\projects\obs-studio\build32\libobs" -DLIBOBS_INCLUDE_DIR="C:\projects\obs-studio\libobs" -DLIBOBS_LIB="C:\projects\obs-studio\build32\libobs\%build_config%\obs.lib" -DOBS_FRONTEND_LIB="C:\projects\obs-studio\build32\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib" ..
|
|
||||||
- cd ../build64
|
|
||||||
- cmake -G "Visual Studio 14 2015 Win64" -DQTDIR="%QTDIR64%" -DLibObs_DIR="C:\projects\obs-studio\build64\libobs" -DLIBOBS_INCLUDE_DIR="C:\projects\obs-studio\libobs" -DLIBOBS_LIB="C:\projects\obs-studio\build64\libobs\%build_config%\obs.lib" -DOBS_FRONTEND_LIB="C:\projects\obs-studio\build64\UI\obs-frontend-api\%build_config%\obs-frontend-api.lib" ..
|
|
||||||
|
|
||||||
build_script:
|
|
||||||
- call msbuild /m /p:Configuration=%build_config% C:\projects\obs-websocket\build32\obs-websocket.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
||||||
- call msbuild /m /p:Configuration=%build_config% C:\projects\obs-websocket\build64\obs-websocket.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
||||||
|
|
||||||
before_deploy:
|
|
||||||
- 7z a "C:\projects\obs-websocket\build.zip" C:\projects\obs-websocket\release\*
|
|
||||||
- set PATH=%PATH%;"C:\\Program Files (x86)\\Inno Setup 5"
|
|
||||||
- iscc "C:\projects\obs-websocket\installer\installer.iss"
|
|
||||||
|
|
||||||
deploy_script:
|
|
||||||
- ps: Push-AppveyorArtifact "C:\projects\obs-websocket\build.zip" -FileName "obs-websocket-$(git log --pretty=format:'%h' -n 1)-Windows.zip"
|
|
||||||
- ps: Push-AppveyorArtifact "C:\projects\obs-websocket\installer\Output\obs-websocket-Windows-Installer.exe" -FileName "obs-websocket-$(git log --pretty=format:'%h' -n 1)-Windows-Installer.exe"
|
|
||||||
|
|
||||||
test: off
|
|
||||||
|
|
||||||
cache:
|
|
||||||
- C:\projects\dependencies2015.zip
|
|
||||||
- C:\projects\obs-studio-last-tag-built.txt
|
|
||||||
- C:\projects\obs-studio\
|
|
@ -1,23 +1,158 @@
|
|||||||
pool:
|
jobs:
|
||||||
vmImage: 'macOS-10.14'
|
- job: 'GenerateDocs'
|
||||||
|
condition: |
|
||||||
|
or(
|
||||||
|
eq(variables['Build.SourceBranch'], 'refs/heads/4.x-current'),
|
||||||
|
eq(variables['Build.SourceBranch'], 'refs/heads/master')
|
||||||
|
)
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-18.04'
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
submodules: false
|
||||||
|
|
||||||
steps:
|
- script: ./CI/generate-docs.sh
|
||||||
- checkout: self
|
displayName: 'Generate docs'
|
||||||
|
env:
|
||||||
|
CHECKOUT_REF: $(Build.SourceBranch)
|
||||||
|
GH_TOKEN: $(GithubToken)
|
||||||
|
|
||||||
|
- job: 'Build_Windows'
|
||||||
|
pool:
|
||||||
|
vmImage: 'windows-2019'
|
||||||
|
variables:
|
||||||
|
build_config: RelWithDebInfo
|
||||||
|
DepsBasePath: 'D:\obsdependencies'
|
||||||
|
DepsPath32: '$(DepsBasePath)\win32'
|
||||||
|
DepsPath64: '$(DepsBasePath)\win64'
|
||||||
|
QtBaseDir: 'D:\QtDep'
|
||||||
|
QTDIR32: '$(QtBaseDir)\5.10.1\msvc2017'
|
||||||
|
QTDIR64: '$(QtBaseDir)\5.10.1\msvc2017_64'
|
||||||
|
OBSPath: 'D:\obs-studio'
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- script: ./CI/install-dependencies-macos.sh
|
- script: ./CI/install-qt-win.cmd
|
||||||
displayName: 'Install Dependencies'
|
displayName: 'Install Qt'
|
||||||
|
env:
|
||||||
|
QtBaseDir: $(QtBaseDir)
|
||||||
|
|
||||||
- script: ./CI/install-build-obs-macos.sh
|
- task: Cache@2
|
||||||
displayName: 'Build OBS'
|
displayName: Restore cached OBS Studio dependencies
|
||||||
|
inputs:
|
||||||
|
key: 'obsdeps | "$(Agent.OS)"'
|
||||||
|
restoreKeys: |
|
||||||
|
obsdeps | "$(Agent.OS)"
|
||||||
|
path: $(DepsBasePath)
|
||||||
|
|
||||||
- script: ./CI/build-macos.sh
|
- script: ./CI/download-obs-deps.cmd
|
||||||
|
displayName: 'Download OBS Studio dependencies'
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
displayName: Restore cached OBS Studio builds
|
||||||
|
inputs:
|
||||||
|
key: 'obs | "$(Agent.OS)"'
|
||||||
|
restoreKeys: |
|
||||||
|
obs | "$(Agent.OS)"
|
||||||
|
path: $(OBSPath)
|
||||||
|
|
||||||
|
- script: ./CI/checkout-cmake-obs-windows.cmd
|
||||||
|
displayName: 'Checkout & CMake OBS Studio'
|
||||||
|
env:
|
||||||
|
build_config: $(build_config)
|
||||||
|
DepsPath32: $(DepsPath32)
|
||||||
|
DepsPath64: $(DepsPath64)
|
||||||
|
QTDIR32: $(QTDIR32)
|
||||||
|
QTDIR64: $(QTDIR64)
|
||||||
|
OBSPath: $(OBSPath)
|
||||||
|
|
||||||
|
- task: MSBuild@1
|
||||||
|
displayName: 'Build OBS Studio 32-bit'
|
||||||
|
inputs:
|
||||||
|
msbuildArguments: '/m /p:Configuration=$(build_config)'
|
||||||
|
solution: '$(OBSPath)\build32\obs-studio.sln'
|
||||||
|
|
||||||
|
- task: MSBuild@1
|
||||||
|
displayName: 'Build OBS Studio 64-bit'
|
||||||
|
inputs:
|
||||||
|
msbuildArguments: '/m /p:Configuration=$(build_config)'
|
||||||
|
solution: '$(OBSPath)\build64\obs-studio.sln'
|
||||||
|
|
||||||
|
- script: ./CI/prepare-windows.cmd
|
||||||
|
displayName: 'CMake obs-websocket'
|
||||||
|
env:
|
||||||
|
build_config: $(build_config)
|
||||||
|
QTDIR32: $(QTDIR32)
|
||||||
|
QTDIR64: $(QTDIR64)
|
||||||
|
OBSPath: $(OBSPath)
|
||||||
|
|
||||||
|
- task: MSBuild@1
|
||||||
|
displayName: 'Build obs-websocket 32-bit'
|
||||||
|
inputs:
|
||||||
|
msbuildArguments: '/m /p:Configuration=$(build_config)'
|
||||||
|
solution: '.\build32\obs-websocket.sln'
|
||||||
|
|
||||||
|
- task: MSBuild@1
|
||||||
|
displayName: 'Build obs-websocket 64-bit'
|
||||||
|
inputs:
|
||||||
|
msbuildArguments: '/m /p:Configuration=$(build_config)'
|
||||||
|
solution: '.\build64\obs-websocket.sln'
|
||||||
|
|
||||||
|
- script: ./CI/package-windows.cmd
|
||||||
|
displayName: 'Package obs-websocket'
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: 'Upload package artifacts'
|
||||||
|
inputs:
|
||||||
|
pathtoPublish: './package'
|
||||||
|
artifactName: 'windows_build'
|
||||||
|
|
||||||
|
- job: 'Build_Linux'
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-18.04'
|
||||||
|
variables:
|
||||||
|
BUILD_REASON: $(Build.Reason)
|
||||||
|
BRANCH_SHORT_NAME: $(Build.SourceBranchName)
|
||||||
|
BRANCH_FULL_NAME: $(Build.SourceBranch)
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- script: ./CI/install-dependencies-ubuntu.sh
|
||||||
|
displayName: 'Install dependencies'
|
||||||
|
|
||||||
|
- script: ./CI/build-ubuntu.sh
|
||||||
displayName: 'Build obs-websocket'
|
displayName: 'Build obs-websocket'
|
||||||
|
|
||||||
- script: ./CI/package-macos.sh
|
- script: ./CI/package-ubuntu.sh
|
||||||
displayName: 'Package'
|
displayName: 'Package obs-websocket'
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
- task: PublishBuildArtifacts@1
|
||||||
|
inputs:
|
||||||
|
pathtoPublish: './package'
|
||||||
|
artifactName: 'deb_build'
|
||||||
|
|
||||||
|
- job: 'Build_macOS'
|
||||||
|
pool:
|
||||||
|
vmImage: 'macos-10.14'
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- script: ./CI/install-dependencies-macos.sh
|
||||||
|
displayName: 'Install dependencies'
|
||||||
|
|
||||||
|
- script: ./CI/install-build-obs-macos.sh
|
||||||
|
displayName: 'Build OBS'
|
||||||
|
|
||||||
|
- script: ./CI/build-macos.sh
|
||||||
|
displayName: 'Build obs-websocket'
|
||||||
|
|
||||||
|
- script: ./CI/package-macos.sh
|
||||||
|
displayName: 'Package obs-websocket'
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
inputs:
|
inputs:
|
||||||
pathtoPublish: './release'
|
pathtoPublish: './release'
|
||||||
artifactName: 'build'
|
artifactName: 'macos_build'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user