mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-04 10:33:30 +00:00
CI: Fix Windows artifact issues and housekeeping
This commit is contained in:
parent
4390eb5591
commit
f190a9f7fb
67
.github/workflows/main.yml
vendored
67
.github/workflows/main.yml
vendored
|
@ -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'
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
|
@ -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 -
|
Loading…
Reference in a new issue