{
  "version": 8,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 28,
    "patch": 0
  },
  "configurePresets": [
    {
      "name": "environmentVars",
      "hidden": true,
      "cacheVariables": {
        "RESTREAM_CLIENTID": {"type": "STRING", "value": "$penv{RESTREAM_CLIENTID}"},
        "RESTREAM_HASH": {"type": "STRING", "value": "$penv{RESTREAM_HASH}"},
        "TWITCH_CLIENTID": {"type": "STRING", "value": "$penv{TWITCH_CLIENTID}"},
        "TWITCH_HASH": {"type": "STRING", "value": "$penv{TWITCH_HASH}"},
        "YOUTUBE_CLIENTID": {"type": "STRING", "value": "$penv{YOUTUBE_CLIENTID}"},
        "YOUTUBE_CLIENTID_HASH": {"type": "STRING", "value": "$penv{YOUTUBE_CLIENTID_HASH}"},
        "YOUTUBE_SECRET": {"type": "STRING", "value": "$penv{YOUTUBE_SECRET}"},
        "YOUTUBE_SECRET_HASH": {"type": "STRING", "value": "$penv{YOUTUBE_SECRET_HASH}"}
      }
    },
    {
      "name": "dependencies",
      "hidden": true,
      "vendor": {
        "obsproject.com/obs-studio": {
          "dependencies": {
              "prebuilt": {
                  "version": "2025-08-23",
                  "baseUrl": "https://github.com/obsproject/obs-deps/releases/download",
                  "label": "Pre-Built obs-deps",
                  "hashes": {
                      "macos-universal": "9403bb43fb0a9bb215739a5659ca274fe884dbbbcd22bd9ca781c961fb041c42",
                      "windows-x64": "8de229cff6f1981508c0eb646b35e644633a5855787b9f5d3b90ae2aeb87ffc1",
                      "windows-x86": "fb3c68b75911f292b3206e346053638db1c73605957207445a0a92b33ab5e00a",
                      "windows-arm64": "dd87ba00a6cbc153182fb62b3678a3b5021d1d11eb2730442060937a645eb97e"
                  }
              },
              "qt6": {
                  "version": "2025-08-23",
                  "baseUrl": "https://github.com/obsproject/obs-deps/releases/download",
                  "label": "Pre-Built Qt6",
                  "hashes": {
                      "macos-universal": "990f11638b80a4509e14e8c315f6e4caa0861e37fcd3113a256fbff835ffca29",
                      "windows-x64": "c62e82483bc7c0bf199e8ac3220c66a85a6e8a0cd69a05b6d44f873b830e415f",
                      "windows-arm64": "cc8ec983de9b7d81aa98beeb1b989d707ee3c73b85b4d41c85d94114eba81f91"
                  },
                  "debugSymbols": {
                      "windows-x64": "aae88a17e0211cb37db6a8602f2e20d69255be1f9700c699008ca5adbce1dde2",
                      "windows-arm64": "6e866490277a8b29e82a87fc2f22407f93ddaf86444ea0d284370339a05511b3"
                  }
              },
              "cef": {
                  "version": "6533",
                  "baseUrl": "https://cdn-fastly.obsproject.com/downloads",
                  "label": "Chromium Embedded Framework",
                  "hashes": {
                      "macos-x86_64": "37bf7571a48c5dfa8519817e4a90a3503a0eb30f9eadd68f4c3e783e363f272a",
                      "macos-arm64": "429b50e74f6c174dcfe2f14d8204b54add497eaafe117f7b69ce6bb2354d2626",
                      "ubuntu-x86_64": "7963335519a19ccdc5233f7334c5ab023026e2f3e9a0cc417007c09d86608146",
                      "ubuntu-aarch64": "642514469eaa29a5c887891084d2e73f7dc2d7405f7dfa7726b2dbc24b309999",
                      "windows-x64": "922efbda1f2f8be9e5b2754d878a14d90afc81f04e94fc9101a7513e2b5cecc1",
                      "windows-arm64": "df9df4bd85826b4c071c6db404fd59cf93efd9c58ec3ab64e204466ae19bb02a"
                  },
                  "revision": {
                      "macos-x86_64": 5,
                      "macos-arm64": 5,
                      "ubuntu-x86_64": 6,
                      "ubuntu-aarch64": 6,
                      "windows-x64": 2
                  }
              }
            },
            "tools": {
              "sparkle": {
                  "version": "2.6.4",
                  "baseUrl": "https://github.com/sparkle-project/Sparkle/releases/download",
                  "label": "Sparkle 2",
                  "hash": "50612a06038abc931f16011d7903b8326a362c1074dabccb718404ce8e585f0b"
              }
            }
          }
        }
    },
    {
      "name": "macos",
      "displayName": "macOS",
      "description": "Default macOS build (single architecture only)",
      "inherits": ["environmentVars"],
      "condition": {
        "type": "equals",
        "lhs": "${hostSystemName}",
        "rhs": "Darwin"
      },
      "generator": "Xcode",
      "binaryDir": "${sourceDir}/build_macos",
      "cacheVariables": {
        "CMAKE_OSX_DEPLOYMENT_TARGET": {"type": "STRING", "value": "12.0"},
        "OBS_CODESIGN_IDENTITY": {"type": "STRING", "value": "$penv{CODESIGN_IDENT}"},
        "OBS_CODESIGN_TEAM": {"type": "STRING", "value": "$penv{CODESIGN_TEAM}"},
        "OBS_PROVISIONING_PROFILE": {"type": "STRING", "value": "$penv{PROVISIONING_PROFILE}"},
        "VIRTUALCAM_DEVICE_UUID": {"type": "STRING", "value": "7626645E-4425-469E-9D8B-97E0FA59AC75"},
        "VIRTUALCAM_SINK_UUID": {"type": "STRING", "value": "A3F16177-7044-4DD8-B900-72E2419F7A9A"},
        "VIRTUALCAM_SOURCE_UUID": {"type": "STRING", "value": "A8D7B8AA-65AD-4D21-9C42-66480DBFA8E1"},
        "SPARKLE_APPCAST_URL": {"type": "STRING", "value": "https://obsproject.com/osx_update/updates_$(ARCHS)_v2.xml"},
        "SPARKLE_PUBLIC_KEY": {"type": "STRING", "value": "HQ5/Ba9VHOuEWaM0jtVjZzgHKFJX9YTl+HNVpgNF0iM="},
        "ENABLE_BROWSER": true
      }
    },
    {
      "name": "macos-ci",
      "displayName": "macOS (CI)",
      "description": "CI macOS build (single architecture only)",
      "inherits": ["macos"],
      "warnings": {"dev": true, "deprecated": true},
      "cacheVariables": {
        "CMAKE_COMPILE_WARNING_AS_ERROR": true,
        "CMAKE_XCODE_ATTRIBUTE_COMPILATION_CACHE_ENABLE_CACHING": "YES",
        "CMAKE_XCODE_ATTRIBUTE_COMPILATION_CACHE_CAS_PATH": "$penv{XCODE_CAS_PATH}"
      }
    },
    {
      "name": "ubuntu",
      "displayName": "Ubuntu",
      "description": "obs-studio for Ubuntu",
      "inherits": ["environmentVars"],
      "condition": {
        "type": "equals",
        "lhs": "${hostSystemName}",
        "rhs": "Linux"
      },
      "binaryDir": "${sourceDir}/build_ubuntu",
      "generator": "Ninja",
      "warnings": {"dev": true, "deprecated": true},
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Debug",
        "CMAKE_INSTALL_LIBDIR": "lib/CMAKE_SYSTEM_PROCESSOR-linux-gnu",
        "ENABLE_AJA": false,
        "ENABLE_VLC": true,
        "ENABLE_WAYLAND": true,
        "ENABLE_WEBRTC": false
      }
    },
    {
      "name": "ubuntu-ci",
      "inherits": ["ubuntu"],
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "RelWithDebInfo",
        "CMAKE_COMPILE_WARNING_AS_ERROR": true,
        "CMAKE_COLOR_DIAGNOSTICS": true,
        "ENABLE_CCACHE": true
      }
    },
    {
      "name": "windows-x64",
      "displayName": "Windows x64",
      "description": "Default Windows build (x64)",
      "inherits": ["environmentVars"],
      "condition": {
        "type": "equals",
        "lhs": "${hostSystemName}",
        "rhs": "Windows"
      },
      "architecture": "x64",
      "binaryDir": "${sourceDir}/build_x64",
      "generator": "Visual Studio 17 2022",
      "cacheVariables": {
        "GPU_PRIORITY_VAL": {"type": "STRING", "value": "$penv{GPU_PRIORITY_VAL}"},
        "VIRTUALCAM_GUID": {"type": "STRING", "value": "A3FCE0F5-3493-419F-958A-ABA1250EC20B"},
        "ENABLE_BROWSER": true
      }
    },
    {
      "name": "windows-ci-x64",
      "displayName": "Windows x64 (CI)",
      "description": "CI Windows build (x64)",
      "inherits": ["windows-x64"],
      "warnings": {"dev": true, "deprecated": true},
      "cacheVariables": {
        "CMAKE_COMPILE_WARNING_AS_ERROR": true
      }
    },
    {
      "name": "windows-arm64",
      "displayName": "Windows ARM64",
      "description": "Default Windows build (ARM64)",
      "inherits": ["environmentVars"],
      "condition": {
        "type": "equals",
        "lhs": "${hostSystemName}",
        "rhs": "Windows"
      },
      "architecture": "ARM64",
      "binaryDir": "${sourceDir}/build_arm64",
      "generator": "Visual Studio 17 2022",
      "cacheVariables": {
        "GPU_PRIORITY_VAL": {"type": "STRING", "value": "$penv{GPU_PRIORITY_VAL}"},
        "VIRTUALCAM_GUID": {"type": "STRING", "value": "A3FCE0F5-3493-419F-958A-ABA1250EC20B"},
        "ENABLE_AJA": false,
        "ENABLE_BROWSER": true,
        "ENABLE_SCRIPTING": false,
        "ENABLE_VST": false
      }
    },
    {
      "name": "windows-ci-arm64",
      "displayName": "Windows ARM64 (CI)",
      "description": "CI Windows build (ARM64)",
      "inherits": ["windows-arm64"],
      "warnings": {"dev": true, "deprecated": true},
      "cacheVariables": {
        "CMAKE_COMPILE_WARNING_AS_ERROR": true
      }
    }
  ],
  "buildPresets": [
    {
      "name": "windows-x64",
      "configurePreset": "windows-x64",
      "displayName": "Windows 64-bit",
      "description": "Windows build for 64-bit (aka x64)",
      "configuration": "RelWithDebInfo"
    },
    {
      "name": "windows-arm64",
      "configurePreset": "windows-arm64",
      "displayName": "Windows on ARM 64-bit",
      "description": "Windows build for ARM 64-bit (aka ARM64)",
      "configuration": "RelWithDebInfo"
    }
  ]
}
