| { |
| "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" |
| } |
| ] |
| } |