{
    "version": 2,
    "configurePresets": [
        {
            "name": "dev",
            "displayName": "dev",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
                "CMAKE_EXPORT_COMPILE_COMMANDS" : "ON",
                "KDDockWidgets_FUZZER" : "OFF"
            },
            "warnings" : {
                "uninitialized" : true
            }
        },
        {
            "name": "dev-gammaray",
            "displayName": "dev-gammaray",
            "description": "A Gammaray friendly build. (No ASAN)",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-gammaray",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "CMAKE_EXPORT_COMPILE_COMMANDS" : "ON",
                "KDDockWidgets_FUZZER" : "OFF"
            },
            "warnings" : {
                "uninitialized" : true
            }
        },
        {
            "name": "clazy",
            "displayName": "clazy",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-clazy",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_WERROR": "ON",
                "KDDockWidgets_EXAMPLES" : "OFF"
            },
            "environment": {
                "CXX": "clazy",
                "CCACHE_DISABLE" : "ON"
            }
        },
        {
            "name": "clazy-qtquick",
            "displayName": "clazy-qtquick",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-clazy-qtquick",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_EXAMPLES" : "OFF",
                "KDDockWidgets_WERROR": "ON",
                "KDDockWidgets_QTQUICK": "ON"
            },
            "environment": {
                "CXX": "clazy",
                "CCACHE_DISABLE" : "ON"
            }
        },
        {
            "name": "release",
            "displayName": "release",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-release",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "CMAKE_UNITY_BUILD" : "ON"
            }
        },
        {
            "name": "release-no-x11extras",
            "displayName": "release-no-x11extras",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-release-no-x11extras",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "CMAKE_UNITY_BUILD" : "ON",
                "KDDockWidgets_X11EXTRAS" : "OFF"
            }
        },
        {
            "name": "release-qtquick",
            "displayName": "release-qtquick",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-release-qtquick",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "KDDockWidgets_QTQUICK": "ON",
                "CMAKE_UNITY_BUILD" : "ON"
            }
        },
        {
            "name": "dev-qtquick",
            "displayName": "dev-qtquick",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-qtquick",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_QTQUICK": "ON",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
                "CMAKE_EXPORT_COMPILE_COMMANDS" : "ON",
                "KDDockWidgets_FUZZER" : "OFF"
            }
        },
        {
            "name": "python",
            "displayName": "python",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-python",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "KDDockWidgets_PYTHON_BINDINGS": "ON",
                "CMAKE_UNITY_BUILD" : "ON"
            }
        },
        {
            "name": "static",
            "displayName": "static",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-static",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "KDDockWidgets_STATIC": "ON",
                "CMAKE_UNITY_BUILD" : "ON"
            }
        },
        {
            "name": "static-qtquick",
            "displayName": "static-qtquick",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-static-qtquick",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "KDDockWidgets_STATIC": "ON",
                "KDDockWidgets_QTQUICK": "ON",
                "CMAKE_UNITY_BUILD" : "ON"
            }
        },
        {
            "name": "release6",
            "displayName": "release6",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-release6",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "KDDockWidgets_QT6": "ON",
                "CMAKE_UNITY_BUILD" : "ON",
                "CMAKE_PREFIX_PATH" : "$env{QT6_DIR}"
            },
            "environment": {
                "PATH": "$env{QT6_DIR}/bin:$penv{PATH}"
            }
        },
        {
            "name": "dev6",
            "displayName": "dev6",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev6",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_QT6": "ON",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "CMAKE_EXPORT_COMPILE_COMMANDS" : "ON",
                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
                "KDDockWidgets_FUZZER" : "OFF",
                "CMAKE_PREFIX_PATH" : "$env{QT6_DIR}"
            },
            "environment": {
                "PATH": "$env{QT6_DIR}/bin:$penv{PATH}"
            }
        },
        {
            "name": "release-qtquick6",
            "displayName": "release-qtquick6",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-release-qtquick6",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "KDDockWidgets_QTQUICK": "ON",
                 "KDDockWidgets_QT6": "ON",
                 "CMAKE_UNITY_BUILD" : "ON",
                 "CMAKE_PREFIX_PATH" : "$env{QT6_DIR}"
            },
            "environment": {
                "PATH": "$env{QT6_DIR}/bin:$penv{PATH}"
            }
        },
        {
            "name": "dev-qtquick6",
            "displayName": "dev-qtquick6",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-qtquick6",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_QTQUICK": "ON",
                 "CMAKE_EXPORT_COMPILE_COMMANDS" : "ON",
                 "KDDockWidgets_DEVELOPER_MODE": "ON",
                 "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
                 "KDDockWidgets_QT6": "ON",
                 "CMAKE_PREFIX_PATH" : "$env{QT6_DIR}"
            },
            "environment": {
                "PATH": "$env{QT6_DIR}/bin:$penv{PATH}",
                "QML2_IMPORT_PATH" : "$env{QT6_DIR}/imports:$env{QT6_DIR}/qml",
                "LD_LIBRARY_PATH" : "$env{QT6_DIR}/lib"
            }
        },
        {
            "name": "dev-clangcl",
            "displayName": "dev-clangcl",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-clangcl",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "CMAKE_EXPORT_COMPILE_COMMANDS" : "ON",
                "KDDockWidgets_FUZZER" : "ON"
            },
            "warnings" : {
                "uninitialized" : true
            },
            "environment": {
                "CC": "clang-cl",
                "CXX": "clang-cl"
            }
        },
        {
            "name": "dev-qtquick-clangcl",
            "displayName": "dev-qtquick-clangcl",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-qtquick-clangcl",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "KDDockWidgets_FUZZER" : "OFF",
                "KDDockWidgets_QTQUICK": "ON"
            },
            "warnings" : {
                "uninitialized" : true
            },
            "environment": {
                "CC": "clang-cl",
                "CXX": "clang-cl"
            }
        },
        {
            "name": "dev-clangcl6",
            "displayName": "dev-clangcl6",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-clangcl6",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "KDDockWidgets_FUZZER" : "ON",
                "KDDockWidgets_QT6": "ON",
                "CMAKE_PREFIX_PATH" : "$env{QT6_DIR}"
            },
            "warnings" : {
                "uninitialized" : true
            },
            "environment": {
                "CC": "clang-cl",
                "CXX": "clang-cl",
                "PATH": "$env{QT6_DIR}/bin:$penv{PATH}"
            }
        },
        {
            "name": "dev-qtquick-clangcl6",
            "displayName": "dev-qtquick-clangcl6",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/build-dev-qtquick-clangcl6",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "KDDockWidgets_DEVELOPER_MODE": "ON",
                "KDDockWidgets_FUZZER" : "OFF",
                "KDDockWidgets_QTQUICK": "ON",
                "KDDockWidgets_QT6": "ON",
                "CMAKE_PREFIX_PATH" : "$env{QT6_DIR}"
            },
            "warnings" : {
                "uninitialized" : true
            },
            "environment": {
                "CC": "clang-cl",
                "CXX": "clang-cl",
                "PATH": "$env{QT6_DIR}/bin:$penv{PATH}",
                "QML2_IMPORT_PATH" : "$env{QT6_DIR}/imports:$env{QT6_DIR}/qml",
                "LD_LIBRARY_PATH" : "$env{QT6_DIR}/lib"
            }
        }
    ],
    "buildPresets": [
        {
            "name": "clazy",
            "configurePreset": "clazy",
            "environment": {
                "CLAZY_CHECKS" : "level2,detaching-member,heap-allocated-small-trivial-type,isempty-vs-count,qstring-varargs,qvariant-template-instantiation,raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,no-ctor-missing-parent-argument,no-missing-typeinfo",
                "CCACHE_DISABLE" : "ON"
            }
        },
        {
            "name": "clazy-qtquick",
            "configurePreset": "clazy-qtquick",
            "environment": {
                "CLAZY_CHECKS" : "level2,detaching-member,heap-allocated-small-trivial-type,isempty-vs-count,qstring-varargs,qvariant-template-instantiation,raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,no-ctor-missing-parent-argument,no-missing-typeinfo",
                "CCACHE_DISABLE" : "ON"
            }
        }
    ]
}
