{
    "version": 7,
    "cmakeMinimumRequired": {
        "major": 3,
        "minor": 27,
        "patch": 0
    },
    "configurePresets": [
        {
            "name": "config-common",
            "hidden": true,
            "description": "Common configuration",
            "generator": "Ninja Multi-Config",
            "binaryDir": "${sourceDir}/build",
            "warnings": {
                "deprecated": true,
                "uninitialized": true
            },
            "cacheVariables": {
                "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
                "CMAKE_CONFIGURATION_TYPES": "Release;Debug",
                "CMAKE_CROSS_CONFIGS": "all",
                "CMAKE_DEFAULT_BUILD_TYPE": "Release",
                "CMAKE_DEFAULT_CONFIGS": "Release",
                "CMAKE_PREFIX_PATH": "${sourceDir}/external/nunavut"
            }
        },
        {
            "name": "config-connected",
            "hidden": true,
            "cacheVariables": {
                "FETCHCONTENT_FULLY_DISCONNECTED": "OFF",
                "FETCHCONTENT_QUIET": "OFF"
            }
        },
        {
            "name": "config-disconnected",
            "hidden": true,
            "cacheVariables": {
                "FETCHCONTENT_FULLY_DISCONNECTED": "ON"
            }
        },
        {
            "name": "Connected",
            "displayName": "Connected Config",
            "description": "FetchContent will go online to look for updates when configured.",
            "inherits": [
                "config-common",
                "config-connected"
            ]
        },
        {
            "name": "Disconnected",
            "displayName": "Disconnected Config",
            "description": "FetchContent will not go online but will use any available local content to configure.",
            "inherits": [
                "config-common",
                "config-disconnected"
            ]
        }
    ],
    "buildPresets": [
        {
            "name": "BuildRelease",
            "displayName": "Nunavut cmake integration demo (Release)",
            "description": "Builds our silly little demo binary.",
            "configurePreset": "Disconnected",
            "configuration": "Release",
            "targets": [
                "ecorp_pi"
            ]
        },
        {
            "name": "BuildDebug",
            "displayName": "Nunavut cmake integration demo (Debug)",
            "description": "Builds our silly little demo binary.",
            "configurePreset": "Disconnected",
            "configuration": "Debug",
            "targets": [
                "ecorp_pi"
            ]
        }
    ]
}
