{
    "version": 3,
    "cmakeMinimumRequired": {
        "major": 3,
        "minor": 21,
        "patch": 0
    },
    "configurePresets": [
        {
            "name": "default",
            "binaryDir": "build",
            "hidden": true
        },
        {
            "name": "msvc",
            "hidden": true,
            "generator": "Visual Studio 17 2022",
            "architecture": "x64"
        },
        {
            "name": "make",
            "hidden": true,
            "generator": "Unix Makefiles",
            "condition": {
                "type": "notEquals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
              }
        },
        {
            "name": "unit_tests",
            "hidden": true,
            "cacheVariables": {
                "BUILD_VF_UNIT_TESTS": "ON"
            }
        },
        {
            "name": "cpu",
            "inherits": "default",
            "hidden": true,
            "description": "CPU build of VirtualFluids",
            "cacheVariables": {
                "BUILD_VF_CPU": "ON",
                "BUILD_VF_DOUBLE_ACCURACY": "ON"
            }
        },
        {
            "name": "gpu",
            "inherits": "default",
            "hidden": true,
            "description": "GPU build of VirtualFluids",
            "cacheVariables": {
                "BUILD_VF_GPU": "ON",
                "BUILD_VF_DOUBLE_ACCURACY": "OFF"
            }
        },
        {
            "name": "gpu_numerical_tests",
            "inherits": [
                "gpu",
                "unit_tests"
            ],
            "hidden": true,
            "description": "GPU numerical tests of VirtualFluids",
            "cacheVariables": {
                "BUILD_VF_DOUBLE_ACCURACY": "ON",
                "BUILD_NUMERIC_TESTS": "ON"
            }
        },
        {
            "name": "make_all",
            "inherits": [
                "cpu",
                "gpu",
                "unit_tests",
                "make"
            ],
            "displayName": "all make configuration"
        },
        {
            "name": "make_cpu",
            "inherits": [
                "cpu",
                "unit_tests",
                "make"
            ],
            "displayName": "cpu make configuration"
        },
        {
            "name": "make_gpu",
            "inherits": [
                "gpu",
                "unit_tests",
                "make"
            ],
            "displayName": "gpu make configuration"
        },
        {
            "name": "msvc_all",
            "inherits": [
                "cpu",
                "gpu",
                "unit_tests",
                "msvc"
            ],
            "displayName": "all msvc configuration"
        },
        {
            "name": "msvc_cpu",
            "inherits": [
                "cpu",
                "unit_tests",
                "msvc"
            ],
            "displayName": "cpu msvc configuration"
        },
        {
            "name": "msvc_gpu",
            "inherits": [
                "gpu",
                "unit_tests",
                "msvc"
            ],
            "displayName": "gpu msvc configuration"
        },
        {
            "name": "make_numerical_tests_gpu",
            "inherits": [
                "gpu_numerical_tests",
                "make"
            ],
            "displayName": "gpu numerical tests make configuration"
        },
        {
            "name": "msvc_numerical_tests_gpu",
            "inherits": [
                "msvc",
                "gpu_numerical_tests"
            ],
            "displayName": "gpu numerical tests msvc configuration"
        }
    ]
}