Skip to content

Instantly share code, notes, and snippets.

@fshp
Created March 31, 2023 23:09
Show Gist options
  • Save fshp/faed53d476d188a0e5b93b58273080f9 to your computer and use it in GitHub Desktop.
Save fshp/faed53d476d188a0e5b93b58273080f9 to your computer and use it in GitHub Desktop.
obs streamfx macos build
OBS_DEBS := third-party/obs-deps
OBS_DEBS_URL := "https://github.com/obsproject/obs-deps/releases/download/2023-03-30/macos-deps-2023-03-30-x86_64.tar.xz"
OBS_DEBS_QT6 := third-party/obs-deps-qt6
OBS_DEBS_QT6_URL := "https://github.com/obsproject/obs-deps/releases/download/2023-03-30/macos-deps-qt6-2023-03-30-x86_64.tar.xz"
FUCKING_PATCH := "H4sICK9fJ2QCAzAwMDEtZnVja2luZy1tYWNvcy5wYXRjaAC1Ve9vm0gQ/Zz9K0ZuPyRHoLsG/+JOp3AEq7SxccGNLjqd0AKDQ2MDgnXlKNf//RZj69zEipwPt7LN7PDmeXnzPB5XxQpYN+7pxiBlfNTjg5T2h7Qb9Zg+SBPKkt4gSYb6CNkQJkUOAZbABkCpuX1Bl1JGxpLGhAnfZCsJqvExvl8/wG+rYnWFG54L1HD9O7nmAk0IuLgEBlZZydquDpSZum4yBgrVKSXBOvqGsTDhr5k1tz/+Dek6fsjyBax4XNSEqKpKwJ7wB7zJalFrYiPg+PoHhqDuFoG6WFcxfsA8LhKs6n2gpumqxIUWl+W2pAuK8hJ8z/NkeRBs4XuwDmm2xBpieXOBySUYkOU1ViIr8vpcubiU50hwie1evSAkydJUHm2RCeAfnj1L9CxBsjzBDfRZv4vxUNMGesooRsAo7RtGI8cLDqIoykueqytQ2cgYXTIDlG3QB5mrUYSCVwt5KauibI6N9fn7p5nvfXLseTi1Js4PkLuZ489dJyBw5k5mnj8PZ74zdv+ETofABQGivpPeEFst4LvUSj4tUd/Mrp5NLPujF9reRPbf/cO9ced34a3jB643hfdP+zCcWJ88/4d2mHGnMvMfw1ffd6bzg9r9l+4yDTTw3kb9GtkFkTZ7B07OIynBFwFZCjliggmR4fkX0QvH3tfpNXi+vNtvN1K5szeL9JN/TjB2dAJo5zMWpVGsdzXNoKMklT/Pn3x2Ak3rvROAjR8HhjShIj+HjRVxI7DKoWN34EkqmWCa5QjBPPzs3DXvsS+FCEJ3Onf8W+smDBzbm14H0PmMj+OKr7DWXDlrqu98qQUYF3lSd07hafdHadq9ZCHKnse6lea8duzQtmYNh2+F3vTmTk4PujFou4gcC+u6mVp5U1/yGKEWFfJVujHNnRim2arx60nY5hJL6OvNPzqoopNgOwNEEZOd53LQ0P5oxOnrBjhKdNwCR6GNCXqNB3pbC8huZXm8XCcInT3sviw7h3lNe+6mFvH/dohAVBRL2B3KNA+COnzAx7QxSlivy7KoxHlbFqY8FkX1+EvzfyB4HqMcESqQrqaPNErIvzRUsgt9BwAA"
INSTALL_DIR := ${HOME}/Library/Application Support/obs-studio/plugins
.PHONY: obs_debs obs_debs_qt6 libobs streamfx patch clean
all: patch streamfx
obs_debs:
ifeq (,$(wildcard third-party/obs-deps/bin/swig))
mkdir ${OBS_DEBS}
curl -L ${OBS_DEBS_URL} | tar xC ${OBS_DEBS}
endif
obs_debs_qt6:
ifeq (,$(wildcard third-party/obs-deps-qt6/bin/qsb))
mkdir ${OBS_DEBS_QT6}
curl -L ${OBS_DEBS_QT6_URL} | tar xC ${OBS_DEBS_QT6}
endif
libobs: obs_debs obs_debs_qt6
cmake -S "third-party/obs-studio" -B "build/obs" \
-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0 \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX="build/obs/install" \
-DENABLE_PLUGINS=OFF \
-DENABLE_UI=OFF \
-DENABLE_SCRIPTING=OFF \
-DCMAKE_PREFIX_PATH="${OBS_DEBS};${OBS_DEBS_QT6}"
cmake --build "build/obs" --parallel 16 --config Release --target obs-frontend-api
cmake --install "build/obs" --config Release --component obs_libraries
streamfx: libobs
cmake -S "." -B "build/ci" \
-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0 \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
-DPACKAGE_NAME="streamfx-macos" \
-DPACKAGE_PREFIX="build/package" \
-DENABLE_CLANG=TRUE \
-DENABLE_PROFILING=ON \
-DSTRUCTURE_BUNDLE=OFF \
-Dlibobs_DIR="build/obs/install" \
-DQt_DIR="${OBS_DEBS_QT6}" \
-DFFmpeg_DIR="${OBS_DEBS}" \
-DCURL_DIR="${OBS_DEBS}"
cmake --build "build/ci" --parallel 16 --config RelWithDebInfo -v
install: streamfx
cmake --build "build/ci" --parallel 16 --config RelWithDebInfo -v --target install
patch:
echo ${FUCKING_PATCH} | base64 -d | gzip -d | git apply
clean:
rm -rf build
rm -rf ${OBS_DEBS}
rm -rf ${OBS_DEBS_QT6}
git checkout .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment