{
  "environments": [ { "BuildNumber": "5187" } ],
  "configurations": [
    {
      "name": "x64-native",
      "description": "Target x64 with 64-bit compiler",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "clang_cl_x64_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "BUILD_NUMBER",
          "value": "${env.BuildNumber}",
          "type": "STRING"
        },
        {
          "name": "CMAKE_C_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_CXX_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "VCPKG_TARGET_TRIPLET",
          "value": "x64-windows-static",
          "type": "STRING"
        }
      ]
    },
    {
      "name": "x86-on-x64",
      "description": "Target x86 with 64-bit compiler",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "clang_cl_x86_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "BUILD_NUMBER",
          "value": "${env.BuildNumber}",
          "type": "STRING"
        },
        {
          "name": "CMAKE_C_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_CXX_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/x64/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "VCPKG_TARGET_TRIPLET",
          "value": "x86-windows-static",
          "type": "STRING"
        }
      ]
    },
    {
      "name": "x64-on-x86",
      "description": "Target x64 with 32-bit compiler",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "clang_cl_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "BUILD_NUMBER",
          "value": "${env.BuildNumber}",
          "type": "STRING"
        },
        {
          "name": "CMAKE_C_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_CXX_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "VCPKG_TARGET_TRIPLET",
          "value": "x64-windows-static",
          "type": "STRING"
        }
      ]
    },
    {
      "name": "x86-native",
      "description": "Target x86 with 32-bit compiler",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": [ "clang_cl_x86" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "BUILD_NUMBER",
          "value": "${env.BuildNumber}",
          "type": "STRING"
        },
        {
          "name": "CMAKE_C_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_CXX_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "VCPKG_TARGET_TRIPLET",
          "value": "x86-windows-static",
          "type": "STRING"
        }
      ]
    },
    {
      "name": "arm64-on-x64",
      "description": "Cross compile Windows ARM64 on x64",
      "generator": "Ninja",
      "configurationType": "RelWithDebInfo",
      "inheritEnvironments": ["msvc_arm64_x64"],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "variables": [
        {
          "name": "BUILD_NUMBER",
          "value": "${env.BuildNumber}",
          "type": "STRING"
        },
        {
          "name": "CMAKE_SYSTEM_NAME",
          "value": "Windows",
          "type": "STRING"
        },
        {
          "name": "CMAKE_SYSTEM_PROCESSOR",
          "value": "arm64",
          "type": "STRING"
        },
        {
          "name": "CMAKE_C_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_CXX_COMPILER",
          "value": "${env.VCINSTALLDIR}Tools/Llvm/bin/clang-cl.exe",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_C_COMPILER_TARGET",
          "value": "arm64-windows-msvc",
          "type": "STRING"
        },
        {
          "name": "CMAKE_CXX_COMPILER_TARGET",
          "value": "arm64-windows-msvc",
          "type": "STRING"
        },
        {
          "name": "CMAKE_EXE_LINKER_FLAGS",
          "value": "/machine:ARM64",
          "type": "STRING"
        },
        {
          "name": "VCPKG_TARGET_TRIPLET",
          "value": "arm64-windows-static",
          "type": "STRING"
        },
        {
          "name": "CMAKE_STATIC_LINKER_FLAGS",
          "value": "/machine:ARM64",
          "type": "STRING"
        },
        {
          "name": "CMAKE_SHARED_LINKER_FLAGS",
          "value": "/machine:ARM64",
          "type": "STRING"
        },
        {
          "name": "IS_CROSS_COMPILATION",
          "value": "arm64-on-x64",
          "type": "STRING"

        }
      ]
    }
  ]
}
