Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ PenaltyReturnTypeOnItsOwnLine: 60

PointerAlignment: Right
ReflowComments: false
SkipMacroDefinitionBody: true
SortIncludes: false
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
Expand Down
24 changes: 21 additions & 3 deletions .github/actions/build-plugin/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ inputs:
description: Developer ID for application codesigning (macOS only)
required: false
default: '-'
codesignTeam:
description: Team ID for application codesigning (macOS only)
required: false
default: ''
provisioningProfileUUID:
description: UUID of provisioning profile (macOS only)
required: false
default: ''
workingDirectory:
description: Working directory for packaging
required: false
Expand All @@ -31,14 +39,18 @@ runs:
CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache
CODESIGN_IDENT: ${{ inputs.codesignIdent }}
CODESIGN_TEAM: ${{ inputs.codesignTeam }}
PROVISIONING_PROFILE: ${{ inputs.provisioningProfileUUID }}
run: |
: Run macOS Build

local -a build_args=(--config ${{ inputs.config }})
local -a build_args=(
--config ${{ inputs.config }}
)
if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)

if [[ '${{ inputs.codesign }}' == 'true' ]] build_args+=(--codesign)

git fetch origin --no-tags --no-recurse-submodules -q
.github/scripts/build-macos ${build_args}

- name: Install Dependencies 🛍️
Expand All @@ -62,16 +74,18 @@ runs:
: Run Ubuntu Build

local -a build_args=(
--target ubuntu-${{ inputs.target }}
--config ${{ inputs.config }}
--target ubuntu-${{ inputs.target }}
)
if (( ${+RUNNER_DEBUG} )) build_args+=(--debug)

git fetch origin --no-tags --no-recurse-submodules -q
.github/scripts/build-ubuntu ${build_args}

- name: Run Windows Build
if: runner.os == 'Windows'
shell: pwsh
working-directory: ${{ inputs.workingDirectory }}
run: |
# Run Windows Build
if ( $Env:RUNNER_DEBUG -ne $null ) {
Expand All @@ -83,10 +97,14 @@ runs:
Configuration = '${{ inputs.config }}'
}

if ( $Env:RUNNER_DEBUG -ne $null ) {
$BuildArgs += @{ Debug = $true }
}
git fetch origin --no-tags --no-recurse-submodules -q
.github/scripts/Build-Windows.ps1 @BuildArgs

- name: Create Summary 📊
if: contains(fromJSON('["Linux", "macOS"]'),runner.os)
if: contains(fromJSON('["Linux", "macOS"]'), runner.os)
shell: zsh --no-rcs --errexit --pipefail {0}
env:
CCACHE_DIR: ${{ inputs.workingDirectory }}/.ccache
Expand Down
8 changes: 4 additions & 4 deletions .github/actions/run-clang-format/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ runs:
echo ::group::Install Dependencies
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
echo "/home/linuxbrew/.linuxbrew/opt/clang-format@17/bin" >> $GITHUB_PATH
echo "/home/linuxbrew/.linuxbrew/opt/clang-format@19/bin" >> $GITHUB_PATH
brew install --quiet zsh
echo ::endgroup::

Expand All @@ -50,11 +50,11 @@ runs:
: Run clang-format 🐉
if (( ${+RUNNER_DEBUG} )) setopt XTRACE

print ::group::Install clang-format-17
brew install --quiet obsproject/tools/clang-format@17
print ::group::Install clang-format-19
brew install --quiet obsproject/tools/clang-format@19
print ::endgroup::

print ::group::Run clang-format-17
print ::group::Run clang-format-19
local -a changes=(${(s:,:)CHANGED_FILES//[\[\]\'\"]/})
./build-aux/run-clang-format --fail-${{ inputs.failCondition }} --check ${changes}
print ::endgroup::
4 changes: 2 additions & 2 deletions .github/scripts/utils.zsh/check_macos
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ local macos_version=$(sw_vers -productVersion)

log_group 'Install macOS build requirements'
log_info 'Checking macOS version...'
if ! is-at-least 11.0 ${macos_version}; then
log_error "Minimum required macOS version is 11.0, but running on macOS ${macos_version}"
if ! is-at-least 12.0 ${macos_version}; then
log_error "Minimum required macOS version is 12.0, but running on macOS ${macos_version}"
return 2
else
log_status "macOS ${macos_version} is recent"
Expand Down
6 changes: 3 additions & 3 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
{
"name": "macos",
"displayName": "macOS Universal",
"description": "Build for macOS 11.0+ (Universal binary)",
"description": "Build for macOS (Universal binary)",
"inherits": ["template"],
"binaryDir": "${sourceDir}/build_macos",
"condition": {
Expand All @@ -28,7 +28,7 @@
"generator": "Xcode",
"warnings": {"dev": true, "deprecated": true},
"cacheVariables": {
"CMAKE_OSX_DEPLOYMENT_TARGET": "11.0",
"CMAKE_OSX_DEPLOYMENT_TARGET": "12.0",
"CMAKE_OSX_ARCHITECTURES": "arm64;x86_64",
"CODESIGN_IDENTITY": "$penv{CODESIGN_IDENT}",
"CODESIGN_TEAM": "$penv{CODESIGN_TEAM}"
Expand All @@ -38,7 +38,7 @@
"name": "macos-ci",
"inherits": ["macos"],
"displayName": "macOS Universal CI build",
"description": "Build for macOS 11.0+ (Universal binary) for CI",
"description": "Build for macOS (Universal binary) for CI",
"generator": "Xcode",
"cacheVariables": {
"CMAKE_COMPILE_WARNING_AS_ERROR": true,
Expand Down
14 changes: 7 additions & 7 deletions build-aux/.run-format.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,24 @@ invoke_formatter() {

case ${formatter} {
clang)
if (( ${+commands[clang-format-17]} )) {
local formatter=clang-format-17
if (( ${+commands[clang-format-19]} )) {
local formatter=clang-format-19
} elif (( ${+commands[clang-format]} )) {
local formatter=clang-format
} else {
log_error "No viable clang-format version found (required 17.0.3)"
log_error "No viable clang-format version found (required 19.1.1)"
exit 2
}

local -a formatter_version=($(${formatter} --version))

if ! is-at-least 17.0.3 ${formatter_version[-1]}; then
log_error "clang-format is not version 17.0.3 or above (found ${formatter_version[-1]}."
if ! is-at-least 19.1.1 ${formatter_version[-1]}; then
log_error "clang-format is not version 19.1.1 or above (found ${formatter_version[-1]}."
exit 2
fi

if ! is-at-least ${formatter_version[-1]} 17.0.3; then
log_error "clang-format is more recent than version 17.0.3 (found ${formatter_version[-1]})."
if ! is-at-least ${formatter_version[-1]} 19.1.1; then
log_error "clang-format is more recent than version 19.1.1 (found ${formatter_version[-1]})."
exit 2
fi

Expand Down
20 changes: 10 additions & 10 deletions buildspec.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
{
"dependencies": {
"obs-studio": {
"version": "31.0.0",
"version": "31.0.4",
"baseUrl": "https://github.com/obsproject/obs-studio/archive/refs/tags",
"label": "OBS sources",
"hashes": {
"macos": "a22966ff07aba38833ba57c36c9e0d190d083be5dec5048d0a60cd9e6b997242",
"windows-x64": "e8434dcee06f1702f0a0bbd1489296c77116fc51356835c3af4a6ed21b1e1c74"
"macos": "f0b53f0acd05ac0dc3044bd3700740f9d2b7a13504d55c0107468e84a860742b",
"windows-x64": "8e29030aa9ab75878b46ac3cb1045ad0e3cc3eb92c425a8b22b9b1d7b629dded"
}
},
"prebuilt": {
"version": "2024-09-12",
"version": "2025-07-11",
"baseUrl": "https://github.com/obsproject/obs-deps/releases/download",
"label": "Pre-Built obs-deps",
"hashes": {
"macos": "c857b211ee378772994b632036e1e5befe66b37e85286cb8e3cefc1435d5220a",
"windows-x64": "d4a4f194591766891ad3c0b267deec3c4b85239c8fe557273559927456aeedbb"
"macos": "495687e63383d1a287684b6e2e9bfe246bb8f156fe265926afb1a325af1edd2a",
"windows-x64": "c8c642c1070dc31ce9a0f1e4cef5bb992f4bff4882255788b5da12129e85caa7"
}
},
"qt6": {
"version": "2024-09-12",
"version": "2025-07-11",
"baseUrl": "https://github.com/obsproject/obs-deps/releases/download",
"label": "Pre-Built Qt6",
"hashes": {
"macos": "34a2de6b7f4d4d58fc5a15a4dba49a61d81a4045d0cedfc1a1f08c0dfb8047cf",
"windows-x64": "4d15ce13dbb0a8a2cabcce5ae0da5e80ee589b482a61b2025378465c1da32c4f"
"macos": "d3f5f04b6ea486e032530bdf0187cbda9a54e0a49621a4c8ba984c5023998867",
"windows-x64": "0e76bf0555dd5382838850b748d3dcfab44a1e1058441309ab54e1a65b156d0a"
},
"debugSymbols": {
"windows-x64": "dad2351a5c9cd438168e1ed8fb453a2534532252edb555f1001a5e8eb3f1bbd4"
"windows-x64": "11b7be92cf66a273299b8f3515c07a5cfb61614b59a4e67f7fc5ecba5e2bdf21"
}
}
},
Expand Down