CI: Fix Windows artifact issues and housekeeping

This commit is contained in:
PatTheMav 2020-10-16 20:29:05 +02:00 committed by Jim
parent 4390eb5591
commit f190a9f7fb
5 changed files with 52 additions and 162 deletions

View file

@ -23,6 +23,7 @@ jobs:
name: 'macOS 64-bit'
runs-on: [macos-latest]
env:
MIN_MACOS_VERSION: '10.13'
MACOS_DEPS_VERSION: '2020-08-30'
VLC_VERSION: '3.0.8'
SPARKLE_VERSION: '1.23.0'
@ -30,7 +31,7 @@ jobs:
SIGN_IDENTITY: ''
steps:
- name: 'Checkout'
uses: actions/checkout@v2
uses: actions/checkout@v2.3.3
with:
submodules: 'recursive'
- name: 'Fetch Git Tags'
@ -56,7 +57,7 @@ jobs:
brew bundle --file ./CI/scripts/macos/Brewfile
- name: 'Restore Chromium Embedded Framework from cache'
id: cef-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'cef-cache'
with:
@ -64,7 +65,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.CEF_BUILD_VERSION }}
- name: 'Restore pre-built dependencies from cache'
id: deps-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'deps-cache'
with:
@ -72,7 +73,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.MACOS_DEPS_VERSION }}
- name: 'Restore pre-built Qt dependency from cache'
id: deps-qt-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'deps-qt-cache'
with:
@ -80,7 +81,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.MACOS_DEPS_VERSION }}
- name: 'Restore VLC dependency from cache'
id: vlc-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'vlc-cache'
with:
@ -88,7 +89,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.VLC_VERSION }}
- name: 'Restore Sparkle dependency from cache'
id: sparkle-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'sparkle-cache'
with:
@ -132,10 +133,9 @@ jobs:
tar -xf ./cef_binary_${{ env.CEF_BUILD_VERSION }}_macosx64.tar.bz2 -C ${{ github.workspace }}/cmbuild/
cd ${{ github.workspace }}/cmbuild/cef_binary_${{ env.CEF_BUILD_VERSION }}_macosx64
sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt
# target 10.11
sed -i '.orig' s/\"10.9\"/\"10.11\"/ ./cmake/cef_variables.cmake
sed -i '.orig' s/\"10.9\"/\"${{ env.MIN_MACOS_VERSION }}\"/ ./cmake/cef_variables.cmake
mkdir build && cd build
cmake -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 ..
cmake -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -Wno-deprecated-declarations" -DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ env.MIN_MACOS_VERSION }} ..
make -j4
mkdir libcef_dll
cd ../../
@ -144,7 +144,7 @@ jobs:
run: |
mkdir ./build
cd ./build
cmake -DENABLE_UNIT_TESTS=YES -DENABLE_SPARKLE_UPDATER=ON -DDISABLE_PYTHON=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -DQTDIR="/tmp/obsdeps" -DSWIGDIR="/tmp/obsdeps" -DDepsPath="/tmp/obsdeps" -DVLCPath="${{ github.workspace }}/cmbuild/vlc-${{ env.VLC_VERSION }}" -DENABLE_VLC=ON -DBUILD_BROWSER=ON -DBROWSER_DEPLOY=ON -DBUILD_CAPTIONS=ON -DWITH_RTMPS=ON -DCEF_ROOT_DIR="${{ github.workspace }}/cmbuild/cef_binary_${{ env.CEF_BUILD_VERSION }}_macosx64" ..
cmake -DENABLE_UNIT_TESTS=YES -DENABLE_SPARKLE_UPDATER=ON -DDISABLE_PYTHON=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ env.MIN_MACOS_VERSION }} -DQTDIR="/tmp/obsdeps" -DSWIGDIR="/tmp/obsdeps" -DDepsPath="/tmp/obsdeps" -DVLCPath="${{ github.workspace }}/cmbuild/vlc-${{ env.VLC_VERSION }}" -DENABLE_VLC=ON -DBUILD_BROWSER=ON -DBROWSER_DEPLOY=ON -DBUILD_CAPTIONS=ON -DWITH_RTMPS=ON -DCEF_ROOT_DIR="${{ github.workspace }}/cmbuild/cef_binary_${{ env.CEF_BUILD_VERSION }}_macosx64" ..
- name: 'Build'
shell: bash
working-directory: ${{ github.workspace }}/build
@ -231,8 +231,8 @@ jobs:
install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
install_name_tool -change /tmp/obsdeps/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
sudo cp -R "${{ github.workspace }}/cmbuild/cef_binary_${{ env.CEF_BUILD_VERSION }}_macosx64/Release/Chromium Embedded Framework.framework" ./OBS.app/Contents/Frameworks/
sudo chown -R $(whoami) ./OBS.app/Contents/Frameworks/
cp -R "${{ github.workspace }}/cmbuild/cef_binary_${{ env.CEF_BUILD_VERSION }}_macosx64/Release/Chromium Embedded Framework.framework" ./OBS.app/Contents/Frameworks/
chown -R $(whoami) ./OBS.app/Contents/Frameworks/
cp ../CI/scripts/macos/app/OBSPublicDSAKey.pem ./OBS.app/Contents/Resources
@ -282,7 +282,7 @@ jobs:
sudo cp ./${FILE_NAME} ../nightly/${FILE_NAME}
- name: 'Publish'
if: success() && (github.event_name != 'pull_request' || env.SEEKING_TESTERS == '1')
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v2.2.0
with:
name: '${{ env.FILE_NAME }}'
path: ./nightly/*.dmg
@ -310,7 +310,7 @@ jobs:
sudo mv ./$FILE_NAME ../release/$RELEASE_FILE_NAME
- name: 'Publish Release'
if: success() && startsWith(github.ref, 'refs/tags/') && github.event_name != 'pull_request'
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v2.2.0
with:
name: '${{ env.RELEASE_FILE_NAME }}'
path: ./release/*.dmg
@ -319,7 +319,7 @@ jobs:
runs-on: [ubuntu-latest]
steps:
- name: 'Checkout'
uses: actions/checkout@v2
uses: actions/checkout@v2.3.3
with:
submodules: 'recursive'
- name: 'Fetch Git Tags'
@ -386,7 +386,7 @@ jobs:
libcmocka-dev
- name: 'Restore Chromium Embedded Framework from cache'
id: cef-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'cef-cache'
with:
@ -428,7 +428,7 @@ jobs:
cd -
- name: 'Publish'
if: success() && (github.event_name != 'pull_request' || env.SEEKING_TESTERS == '1')
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v2.2.0
with:
name: '${{ env.FILE_NAME }}'
path: './nightly/*.tar.gz'
@ -448,9 +448,9 @@ jobs:
VIRTUALCAM-GUID: "A3FCE0F5-3493-419F-958A-ABA1250EC20B"
steps:
- name: 'Add msbuild to PATH'
uses: microsoft/setup-msbuild@v1.0.0
uses: microsoft/setup-msbuild@v1.0.2
- name: 'Checkout'
uses: actions/checkout@v2
uses: actions/checkout@v2.3.3
with:
submodules: 'recursive'
- name: 'Fetch Git Tags'
@ -473,7 +473,7 @@ jobs:
fi
- name: 'Restore QT dependency from cache'
id: qt-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'windows-qt-cache'
with:
@ -481,7 +481,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.QT_VERSION }}
- name: 'Restore pre-built dependencies from cache'
id: deps-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'windows-deps-cache'
with:
@ -489,7 +489,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.WINDOWS_DEPS_VERSION }}
- name: 'Restore VLC dependency from cache'
id: vlc-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'windows-vlc-cache'
with:
@ -497,7 +497,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.VLC_VERSION }}
- name: 'Restore CEF dependency from cache (64 bit)'
id: cef-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'windows-cef-64-cache'
with:
@ -536,16 +536,15 @@ jobs:
run: |
$env:FILE_DATE=(Get-Date -UFormat "%F")
$env:FILE_NAME="${env:FILE_DATE}-${{ env.OBS_GIT_HASH }}-${{ env.OBS_GIT_TAG }}-win64.zip"
echo "FILE_NAME=${env:FILE_NAME}" >> $GITHUB_ENV
echo "FILE_NAME=${env:FILE_NAME}" >> ${env:GITHUB_ENV}
robocopy .\build64\rundir\RelWithDebInfo .\build\ /E /XF .gitignore
7z a ${env:FILE_NAME} .\build\*
- name: 'Publish'
if: success() && (github.event_name != 'pull_request' || env.SEEKING_TESTERS == '1')
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v2.2.0
with:
name: '${{ env.FILE_NAME }}'
path: '*-win64.zip'
win32:
name: 'Windows 32-bit'
runs-on: [windows-latest]
@ -561,9 +560,9 @@ jobs:
VIRTUALCAM-GUID: "A3FCE0F5-3493-419F-958A-ABA1250EC20B"
steps:
- name: 'Add msbuild to PATH'
uses: microsoft/setup-msbuild@v1.0.0
uses: microsoft/setup-msbuild@v1.0.2
- name: 'Checkout'
uses: actions/checkout@v2
uses: actions/checkout@v2.3.3
with:
submodules: 'recursive'
- name: 'Fetch Git Tags'
@ -586,7 +585,7 @@ jobs:
fi
- name: 'Restore QT dependency from cache'
id: qt-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'qt-cache'
with:
@ -594,7 +593,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.QT_VERSION }}
- name: 'Restore pre-built dependencies from cache'
id: deps-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'deps-cache'
with:
@ -602,7 +601,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.WINDOWS_DEPS_VERSION }}
- name: 'Restore VLC dependency from cache'
id: vlc-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'vlc-cache'
with:
@ -610,7 +609,7 @@ jobs:
key: ${{ runner.os }}-pr-${{ env.CACHE_NAME }}-${{ env.WINDOWS_VLC_VERSION }}
- name: 'Restore CEF dependency from cache (32 bit)'
id: cef-cache
uses: actions/cache@v1
uses: actions/cache@v2.1.2
env:
CACHE_NAME: 'cef-32-cache'
with:
@ -649,12 +648,12 @@ jobs:
run: |
$env:FILE_DATE=(Get-Date -UFormat "%F")
$env:FILE_NAME="${env:FILE_DATE}-${{ env.OBS_GIT_HASH }}-${{ env.OBS_GIT_TAG }}-win32.zip"
echo "FILE_NAME=${env:FILE_NAME}" >> $GITHUB_ENV
echo "FILE_NAME=${env:FILE_NAME}" >> ${env:GITHUB_ENV}
robocopy .\build32\rundir\RelWithDebInfo .\build\ /E /XF .gitignore
7z a ${env:FILE_NAME} .\build\*
- name: 'Publish'
if: success() && (github.event_name != 'pull_request' || env.SEEKING_TESTERS == '1')
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v2.2.0
with:
name: '${{ env.FILE_NAME }}'
path: '*-win32.zip'

View file

@ -45,6 +45,7 @@ CI_DEPS_VERSION=$(cat ${CI_WORKFLOW} | sed -En "s/[ ]+MACOS_DEPS_VERSION: '([0-9
CI_VLC_VERSION=$(cat ${CI_WORKFLOW} | sed -En "s/[ ]+VLC_VERSION: '([0-9\.]+)'/\1/p")
CI_SPARKLE_VERSION=$(cat ${CI_WORKFLOW} | sed -En "s/[ ]+SPARKLE_VERSION: '([0-9\.]+)'/\1/p")
CI_QT_VERSION=$(cat ${CI_WORKFLOW} | sed -En "s/[ ]+QT_VERSION: '([0-9\.]+)'/\1/p" | head -1)
CI_MIN_MACOS_VERSION=$(cat ${CI_WORKFLOW} | sed -En "s/[ ]+MIN_MACOS_VERSION: '([0-9\.]+)'/\1/p")
BUILD_DEPS=(
"obs-deps ${MACOS_DEPS_VERSION:-${CI_DEPS_VERSION}}"
@ -113,6 +114,16 @@ caught_error() {
}
## CHECK AND INSTALL DEPENDENCIES ##
check_macos_version() {
MIN_VERSION=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}
MIN_MAJOR=$(echo ${MIN_VERSION} | cut -d '.' -f 1)
MIN_MINOR=$(echo ${MIN_VERSION} | cut -d '.' -f 2)
if [ "${MACOS_MAJOR}" -lt "11" ] && [ "${MACOS_MINOR}" -lt "${MIN_MINOR}" ]; then
error "WARNING: Minimum required macOS version is ${MIN_VERSION}, but running on ${MACOS_VERSION}"
fi
}
install_homebrew_deps() {
if ! exists brew; then
error "Homebrew not found - please install homebrew (https://brew.sh)"
@ -195,16 +206,14 @@ install_cef() {
tar -xf ./cef_binary_${1}_macosx64.tar.bz2
cd ./cef_binary_${1}_macosx64
step "Fix tests..."
# remove a broken test
sed -i '.orig' '/add_subdirectory(tests\/ceftests)/d' ./CMakeLists.txt
# target 10.11
sed -i '.orig' s/\"10.9\"/\"10.11\"/ ./cmake/cef_variables.cmake
sed -i '.orig' s/\"10.9\"/\"${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}}\"/ ./cmake/cef_variables.cmake
ensure_dir ./build
step "Run CMAKE..."
cmake \
-DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++"\
-DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++ -Wno-deprecated-declarations"\
-DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++"\
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}} \
..
step "Build..."
make -j4
@ -251,7 +260,7 @@ configure_obs_build() {
hr "Run CMAKE for OBS..."
cmake -DENABLE_SPARKLE_UPDATER=ON \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=${MIN_MACOS_VERSION:-${CI_MIN_MACOS_VERSION}} \
-DDISABLE_PYTHON=ON \
-DQTDIR="/tmp/obsdeps" \
-DSWIGDIR="/tmp/obsdeps" \
@ -334,8 +343,8 @@ install_frameworks() {
hr "Adding Chromium Embedded Framework"
step "Copy Framework..."
sudo cp -R "${DEPS_BUILD_DIR}/cef_binary_${CEF_BUILD_VERSION:-${CI_CEF_VERSION}}_macosx64/Release/Chromium Embedded Framework.framework" ./OBS.app/Contents/Frameworks/
sudo chown -R $(whoami) ./OBS.app/Contents/Frameworks/
cp -R "${DEPS_BUILD_DIR}/cef_binary_${CEF_BUILD_VERSION:-${CI_CEF_VERSION}}_macosx64/Release/Chromium Embedded Framework.framework" ./OBS.app/Contents/Frameworks/
chown -R $(whoami) ./OBS.app/Contents/Frameworks/
}
prepare_macos_bundle() {
@ -603,6 +612,7 @@ print_usage() {
obs-build-main() {
ensure_dir ${CHECKOUT_DIR}
check_macos_version
step "Fetching OBS tags..."
git fetch origin --tags
GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)

View file

@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>LSMinimumSystemVersion</key>
<string>10.8.5</string>
<string>10.13.0</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>LSAppNapIsDisabled</key>

View file

@ -1,78 +0,0 @@
#!/usr/bin/env bash
# Exit if something fails
set -e
rm -rf ./OBS.app
mkdir OBS.app
mkdir OBS.app/Contents
mkdir OBS.app/Contents/MacOS
mkdir OBS.app/Contents/PlugIns
mkdir OBS.app/Contents/Resources
cp -R rundir/RelWithDebInfo/bin/ ./OBS.app/Contents/MacOS
cp -R rundir/RelWithDebInfo/data ./OBS.app/Contents/Resources
cp ../CI/scripts/macos/app/obs.icns ./OBS.app/Contents/Resources
cp -R rundir/RelWithDebInfo/obs-plugins/ ./OBS.app/Contents/PlugIns
cp ../CI/scripts/macos/app/Info.plist ./OBS.app/Contents
../CI/scripts/macos/package/dylibBundler -b -cd -d ./OBS.app/Contents/Frameworks -p @executable_path/../Frameworks/ \
-s ./OBS.app/Contents/MacOS \
-x ./OBS.app/Contents/PlugIns/coreaudio-encoder.so \
-x ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so \
-x ./OBS.app/Contents/PlugIns/frontend-tools.so \
-x ./OBS.app/Contents/PlugIns/image-source.so \
-x ./OBS.app/Contents/PlugIns/linux-jack.so \
-x ./OBS.app/Contents/PlugIns/mac-avcapture.so \
-x ./OBS.app/Contents/PlugIns/mac-capture.so \
-x ./OBS.app/Contents/PlugIns/mac-decklink.so \
-x ./OBS.app/Contents/PlugIns/mac-syphon.so \
-x ./OBS.app/Contents/PlugIns/mac-vth264.so \
-x ./OBS.app/Contents/PlugIns/obs-browser.so \
-x ./OBS.app/Contents/PlugIns/obs-browser-page \
-x ./OBS.app/Contents/PlugIns/obs-ffmpeg.so \
-x ./OBS.app/Contents/PlugIns/obs-filters.so \
-x ./OBS.app/Contents/PlugIns/obs-transitions.so \
-x ./OBS.app/Contents/PlugIns/obs-vst.so \
-x ./OBS.app/Contents/PlugIns/rtmp-services.so \
-x ./OBS.app/Contents/MacOS/obs \
-x ./OBS.app/Contents/MacOS/obs-ffmpeg-mux \
-x ./OBS.app/Contents/MacOS/obslua.so \
-x ./OBS.app/Contents/PlugIns/obs-x264.so \
-x ./OBS.app/Contents/PlugIns/text-freetype2.so \
-x ./OBS.app/Contents/PlugIns/obs-libfdk.so
# -x ./OBS.app/Contents/MacOS/_obspython.so \
# -x ./OBS.app/Contents/PlugIns/obs-outputs.so \
/usr/local/Cellar/qt/${QT_VERSION}/bin/macdeployqt ./OBS.app
mv ./OBS.app/Contents/MacOS/libobs-opengl.so ./OBS.app/Contents/Frameworks
rm -f -r ./OBS.app/Contents/Frameworks/QtNetwork.framework
# put qt network in here becasuse streamdeck uses it
cp -R /usr/local/opt/qt/lib/QtNetwork.framework ./OBS.app/Contents/Frameworks
chmod -R +w ./OBS.app/Contents/Frameworks/QtNetwork.framework
rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Headers
rm -r ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Headers/
chmod 644 ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources/Info.plist
install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
install_name_tool -change /usr/local/Cellar/qt/${QT_VERSION}/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
# decklink ui qt
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so
install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/PlugIns/decklink-ouput-ui.so
# frontend tools qt
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/PlugIns/frontend-tools.so
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/PlugIns/frontend-tools.so
install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/PlugIns/frontend-tools.so
# vst qt
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/PlugIns/obs-vst.so
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/PlugIns/obs-vst.so
install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/PlugIns/obs-vst.so
install_name_tool -change /usr/local/opt/qt/lib/QtMacExtras.framework/Versions/5/QtMacExtras @executable_path/../Frameworks/QtMacExtras.framework/Versions/5/QtMacExtras ./OBS.app/Contents/PlugIns/obs-vst.so

View file

@ -1,41 +0,0 @@
#!/usr/bin/env bash
# Exit if something fails
set -e
cd ./build
mv ./rundir/RelWithDebInfo/data/obs-scripting/obslua.so ./rundir/RelWithDebInfo/bin/
mv ./rundir/RelWithDebInfo/data/obs-scripting/_obspython.so ./rundir/RelWithDebInfo/bin/
mv ./rundir/RelWithDebInfo/data/obs-scripting/obspython.py ./rundir/RelWithDebInfo/bin/
../CI/scripts/macos/packageApp.sh
# fix obs outputs plugin it doesn't play nicely with dylibBundler at the moment
chmod +w ./OBS.app/Contents/Frameworks/*.dylib
install_name_tool -change libmbedtls.12.dylib @executable_path/../Frameworks/libmbedtls.12.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change libmbedcrypto.3.dylib @executable_path/../Frameworks/libmbedcrypto.3.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change libmbedx509.0.dylib @executable_path/../Frameworks/libmbedx509.0.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change /usr/local/opt/curl/lib/libcurl.4.dylib @executable_path/../Frameworks/libcurl.4.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change @rpath/libobs.0.dylib @executable_path/../Frameworks/libobs.0.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
install_name_tool -change /tmp/obsdeps/bin/libjansson.4.dylib @executable_path/../Frameworks/libjansson.4.dylib ./OBS.app/Contents/Plugins/obs-outputs.so
cp -R ${GITHUB_WORKSPACE}/cmbuild/sparkle/Sparkle.framework ./OBS.app/Contents/Frameworks/
install_name_tool -change @rpath/Sparkle.framework/Versions/A/Sparkle @executable_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle ./OBS.app/Contents/MacOS/obs
sudo mkdir -p ./OBS.app/Contents/Frameworks
sudo cp -R ${GITHUB_WORKSPACE}/cmbuild/cef_binary_${CEF_BUILD_VERSION}_macosx64/Release/Chromium\ Embedded\ Framework.framework ./OBS.app/Contents/Frameworks/
install_name_tool -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui ./OBS.app/Contents/Plugins/obs-browser.so
install_name_tool -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore ./OBS.app/Contents/Plugins/obs-browser.so
install_name_tool -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets ./OBS.app/Contents/Plugins/obs-browser.so
cp ../CI/scripts/macos/app/OBSPublicDSAKey.pem ./OBS.app/Contents/Resources
plutil -insert CFBundleVersion -string $(basename ${GITHUB_REF}) ./OBS.app/Contents/Info.plist
plutil -insert CFBundleShortVersionString -string $(basename ${GITHUB_REF}) ./OBS.app/Contents/Info.plist
plutil -insert OBSFeedsURL -string https://obsproject.com/osx_update/feeds.xml ./OBS.app/Contents/Info.plist
plutil -insert SUFeedURL -string https://obsproject.com/osx_update/stable/updates.xml ./OBS.app/Contents/Info.plist
plutil -insert SUPublicDSAKeyFile -string OBSPublicDSAKey.pem ./OBS.app/Contents/Info.plist
mv ./OBS.app ../OBS.app
cd -