blob: 14927307a5af5e9c1f6648a6ae398e2933aa69e3 [file] [log] [blame] [edit]
{
"version": 3,
"configurePresets": [
{
"name": "config-base",
"description": "Base configure preset.",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"installDir": "${sourceDir}/out/install/${presetName}",
"cacheVariables": {
"CMAKE_CXX_STANDARD": "17",
"CMAKE_CXX_STANDARD_REQUIRED": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"ENZYME_CONFIGURED_WITH_PRESETS": "ON"
}
},
{
"name": "config-base-linux",
"description": "Base configure preset for Linux.",
"inherits": "config-base",
"hidden": true,
"cacheVariables": {
"CMAKE_POSITION_INDEPENDENT_CODE": "ON"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
},
{
"name": "config-base-x64",
"description": "Base preset for x64 platforms.",
"hidden": true,
"architecture": {
"value": "x64",
"strategy": "external"
}
},
{
"name": "x64-linux-clang",
"description": "Base preset for Linux development using Clang compilers.",
"hidden": true,
"inherits": [
"config-base-x64",
"config-base-linux"
],
"cacheVariables": {
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++",
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch"
}
},
{
"name": "x64-linux-clang-debug",
"displayName": "Clang x64 Linux Debug",
"inherits": "x64-linux-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer"
}
},
{
"name": "x64-linux-clang-release",
"displayName": "Clang x64 Linux Release",
"inherits": "x64-linux-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2"
}
},
{
"name": "x64-linux-clang-release-with-debug-info",
"displayName": "Clang x64 Linux Release with Debug Info",
"inherits": "x64-linux-clang",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
}
},
{
"name": "x64-linux-gcc",
"description": "Base preset for Linux development using GNU compilers.",
"hidden": true,
"inherits": [
"config-base-x64",
"config-base-linux"
],
"cacheVariables": {
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch -Wno-comment"
}
},
{
"name": "x64-linux-gcc-debug",
"displayName": "GCC x64 Linux Debug",
"inherits": "x64-linux-gcc",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer"
}
},
{
"name": "x64-linux-gcc-release",
"displayName": "GCC x64 Linux Release",
"inherits": "x64-linux-gcc",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2"
}
},
{
"name": "x64-linux-gcc-release-with-debug-info",
"displayName": "GCC x64 Linux Release with Debug Info",
"inherits": "x64-linux-gcc",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
}
},
{
"name": "x64-linux-intel",
"description": "Base preset for Linux development using Intel oneAPI compilers.",
"hidden": true,
"inherits": [
"config-base-x64",
"config-base-linux"
],
"cacheVariables": {
"CMAKE_C_COMPILER": "icx",
"CMAKE_CXX_COMPILER": "icpx",
"CMAKE_CXX_FLAGS": "-Wall -fno-rtti -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch",
"CMAKE_BUILD_WITH_INSTALL_RPATH": "ON"
}
},
{
"name": "x64-linux-intel-debug",
"displayName": "Intel x64 Linux Debug",
"inherits": "x64-linux-intel",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-O0 -g -ggdb -fno-omit-frame-pointer"
}
},
{
"name": "x64-linux-intel-release",
"displayName": "Intel x64 Linux Release",
"inherits": "x64-linux-intel",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2"
}
},
{
"name": "x64-linux-intel-release-with-debug-info",
"displayName": "Intel x64 Linux Release with Debug Info",
"inherits": "x64-linux-intel",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O2 -g -ggdb"
}
}
],
"buildPresets": [
{
"name": "x64-linux-clang-debug",
"displayName": "Clang x64 Linux Debug",
"description": "Builds the project using Clang on Linux in Debug configuration.",
"configurePreset": "x64-linux-clang-debug"
},
{
"name": "x64-linux-clang-release",
"displayName": "Clang x64 Linux Release",
"description": "Builds the project using Clang on Linux in Release configuration.",
"configurePreset": "x64-linux-clang-release"
},
{
"name": "x64-linux-clang-release-with-debug-info",
"displayName": "Clang x64 Linux Release with Debug Info",
"description": "Builds the project using Clang on Linux in Release configuration with debug info.",
"configurePreset": "x64-linux-clang-release-with-debug-info"
},
{
"name": "x64-linux-gcc-debug",
"displayName": "GCC x64 Linux Debug",
"description": "Builds the project using GCC on Linux in Debug configuration.",
"configurePreset": "x64-linux-gcc-debug"
},
{
"name": "x64-linux-gcc-release",
"displayName": "GCC x64 Linux Release",
"description": "Builds the project using GCC on Linux in Release configuration.",
"configurePreset": "x64-linux-gcc-release"
},
{
"name": "x64-linux-gcc-release-with-debug-info",
"displayName": "GCC x64 Linux Release with Debug Info",
"description": "Builds the project using GCC on Linux in Release configuration with debug info.",
"configurePreset": "x64-linux-gcc-release-with-debug-info"
},
{
"name": "x64-linux-intel-debug",
"displayName": "Intel x64 Linux Debug",
"description": "Builds the project using Intel oneAPI compilers on Linux in Debug configuration.",
"configurePreset": "x64-linux-intel-debug"
},
{
"name": "x64-linux-intel-release",
"displayName": "Intel x64 Linux Release",
"description": "Builds the project using Intel oneAPI compilers on Linux in Release configuration.",
"configurePreset": "x64-linux-intel-release"
},
{
"name": "x64-linux-intel-release-with-debug-info",
"displayName": "Intel x64 Linux Release with Debug Info",
"description": "Builds the project using Intel oneAPI compilers on Linux in Release configuration with debug info.",
"configurePreset": "x64-linux-intel-release-with-debug-info"
}
]
}