{
  "version": 3,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 22,
    "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": "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": "11.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
      }
    },
    {
      "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",
        "OBS_CMAKE_VERSION": {"type": "STRING", "value": "3.0.0"},
        "ENABLE_AJA": false,
        "ENABLE_NATIVE_NVENC": 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
      }
    },
    {
      "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": {
        "OBS_CMAKE_VERSION": {"type": "STRING", "value": "3.0.0"},
        "GPU_PRIORITY_VAL": {"type": "STRING", "value": "$penv{GPU_PRIORITY_VAL}"},
        "VIRTUALCAM_GUID": {"type": "STRING", "value": "A3FCE0F5-3493-419F-958A-ABA1250EC20B"},
        "ENABLE_BROWSER": true,
        "ENABLE_CCACHE": false
      }
    },
    {
      "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,
        "ENABLE_CCACHE": false
      }
    }
  ],
  "buildPresets": [
    {
      "name": "windows-x64",
      "configurePreset": "windows-x64",
      "displayName": "Windows 64-bit",
      "description": "Windows build for 64-bit (aka x64)",
      "configuration": "RelWithDebInfo"
    }
  ]
}
