diff --git a/CI/build-macos.sh b/CI/build-macos.sh index f528ce2e..3a371a78 100755 --- a/CI/build-macos.sh +++ b/CI/build-macos.sh @@ -19,7 +19,7 @@ fi echo "[obs-websocket] Building 'obs-websocket' for macOS." mkdir -p build && cd build cmake .. \ - -DQTDIR=/usr/local/opt/qt \ + -DQTDIR=/tmp/obsdeps \ -DLIBOBS_INCLUDE_DIR=../../obs-studio/libobs \ -DLIBOBS_LIB=../../obs-studio/libobs \ -DOBS_FRONTEND_LIB="$(pwd)/../../obs-studio/build/UI/obs-frontend-api/libobs-frontend-api.dylib" \ diff --git a/CI/install-build-obs-macos.sh b/CI/install-build-obs-macos.sh index 8a5eb145..7fea6fb8 100755 --- a/CI/install-build-obs-macos.sh +++ b/CI/install-build-obs-macos.sh @@ -20,10 +20,6 @@ if [ "${HAS_GIT}" = "" ]; then exit 1 fi -echo "[obs-websocket] Downloading and unpacking OBS dependencies" -wget --quiet --retry-connrefused --waitretry=1 https://github.com/obsproject/obs-deps/releases/download/2021-02-28/macos-deps-2021-02-28.tar.gz -tar -xf ./macos-deps-2021-02-28.tar.gz -C /tmp - # Build obs-studio cd .. echo "[obs-websocket] Cloning obs-studio from GitHub.." @@ -34,9 +30,10 @@ git checkout $OBSLatestTag mkdir build && cd build echo "[obs-websocket] Building obs-studio.." cmake .. \ + -DQTDIR=/tmp/obsdeps \ -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 \ -DDISABLE_PLUGINS=true \ - -DENABLE_SCRIPTING=0 \ + -DENABLE_SCRIPTING=0 \ -DDepsPath=/tmp/obsdeps \ -DCMAKE_PREFIX_PATH=/usr/local/opt/qt/lib/cmake \ && make -j4 diff --git a/CI/install-dependencies-macos.sh b/CI/install-dependencies-macos.sh index 6991e098..9974fed4 100755 --- a/CI/install-dependencies-macos.sh +++ b/CI/install-dependencies-macos.sh @@ -1,7 +1,5 @@ #!/bin/sh - - OSTYPE=$(uname) if [ "${OSTYPE}" != "Darwin" ]; then @@ -20,7 +18,7 @@ fi echo "[obs-websocket] Updating Homebrew.." brew update >/dev/null echo "[obs-websocket] Checking installed Homebrew formulas.." -BREW_PACKAGES=$(brew list) +BREW_PACKAGES=$(brew list --formula) BREW_DEPENDENCIES="jack speexdsp ccache swig mbedtls" for DEPENDENCY in ${BREW_DEPENDENCIES}; do @@ -33,15 +31,6 @@ for DEPENDENCY in ${BREW_DEPENDENCIES}; do fi done -# qtwebsockets deps -echo "[obs-websocket] Installing obs-websocket dependency 'QT 5.10.1'.." - -brew install ./CI/macos/qt.rb - -# Pin this version of QT5 to avoid `brew upgrade` -# upgrading it to incompatible version -brew pin qt - # Fetch and install Packages app # =!= NOTICE =!= # Installs a LaunchDaemon under /Library/LaunchDaemons/fr.whitebox.packages.build.dispatcher.plist @@ -55,3 +44,14 @@ if [ "${HAS_PACKAGES}" = "" ]; then sudo hdiutil attach ./Packages.dmg sudo installer -pkg /Volumes/Packages\ 1.2.9/Install\ Packages.pkg -target / fi + +# Qt deps +echo "[obs-websocket] Installing obs-websocket dependency 'Qt ${QT_VERSION}'.." +curl -L -O https://github.com/obsproject/obs-deps/releases/download/${OBS_DEPS_VERSION}/macos-qt-${QT_VERSION}-${OBS_DEPS_VERSION}.tar.gz +tar -xf ./macos-qt-${QT_VERSION}-${OBS_DEPS_VERSION}.tar.gz -C "/tmp" +xattr -r -d com.apple.quarantine /tmp/obsdeps + +# OBS Deps +echo "[obs-websocket] Downloading and unpacking OBS dependencies" +wget --quiet --retry-connrefused --waitretry=1 https://github.com/obsproject/obs-deps/releases/download/${OBS_DEPS_VERSION}/macos-deps-${OBS_DEPS_VERSION}.tar.gz +tar -xf ./macos-deps-${OBS_DEPS_VERSION}.tar.gz -C /tmp \ No newline at end of file diff --git a/CI/package-macos.sh b/CI/package-macos.sh index f309cf34..4363a8ab 100755 --- a/CI/package-macos.sh +++ b/CI/package-macos.sh @@ -20,13 +20,13 @@ VERSION="$GIT_HASH-$GIT_BRANCH_OR_TAG" FILENAME_UNSIGNED="obs-websocket-$VERSION-Unsigned.pkg" FILENAME="obs-websocket-$VERSION.pkg" -echo "[obs-websocket] Modifying obs-websocket.so" +echo "[obs-websocket] Modifying obs-websocket.so linking" install_name_tool \ - -change /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets \ + -change /tmp/obsdeps/lib/QtWidgets.framework/Versions/5/QtWidgets \ @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \ - -change /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui \ + -change /tmp/obsdeps/lib/QtGui.framework/Versions/5/QtGui \ @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \ - -change /usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore \ + -change /tmp/obsdeps/lib/QtCore.framework/Versions/5/QtCore \ @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \ ./build/obs-websocket.so diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 449bd137..d5da8c6f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -157,12 +157,18 @@ jobs: - job: 'Build_macOS' pool: vmImage: 'macos-10.14' + variables: + obsDepsVersion: '2020-12-22' + qtVersion: '5.15.2' steps: - checkout: self submodules: true - script: ./CI/install-dependencies-macos.sh displayName: 'Install dependencies' + env: + OBS_DEPS_VERSION: $(obsDepsVersion) + QT_VERSION: $(qtVersion) - script: ./CI/install-build-obs-macos.sh displayName: 'Build OBS'