diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3651c75e3..8c46cfe94 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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' diff --git a/CI/full-build-macos.sh b/CI/full-build-macos.sh index 5772bfe32..dc63249c9 100755 --- a/CI/full-build-macos.sh +++ b/CI/full-build-macos.sh @@ -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) diff --git a/CI/scripts/macos/app/Info.plist b/CI/scripts/macos/app/Info.plist index 074e14aed..3d9214a9d 100644 --- a/CI/scripts/macos/app/Info.plist +++ b/CI/scripts/macos/app/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL LSMinimumSystemVersion - 10.8.5 + 10.13.0 NSHighResolutionCapable LSAppNapIsDisabled diff --git a/CI/scripts/macos/packageApp.sh b/CI/scripts/macos/packageApp.sh deleted file mode 100755 index eb5e20eef..000000000 --- a/CI/scripts/macos/packageApp.sh +++ /dev/null @@ -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 diff --git a/CI/scripts/macos/prepareApp.sh b/CI/scripts/macos/prepareApp.sh deleted file mode 100755 index 1a6de88ad..000000000 --- a/CI/scripts/macos/prepareApp.sh +++ /dev/null @@ -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 -