| { |
| "version": 2, |
| "cmakeMinimumRequired": { |
| "major": 3, |
| "minor": 20, |
| "patch": 0 |
| }, |
| "configurePresets": [ |
| { |
| "name": "default", |
| "displayName": "Default build with ninja", |
| "description": "Default build using Ninja generator", |
| "generator": "Ninja", |
| "binaryDir": "${sourceDir}/build-default", |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Debug", |
| "CMAKE_COMPILE_WARNING_AS_ERROR": "ON" |
| } |
| }, |
| { |
| "name": "layout-defaults", |
| "displayName": "Default install layout paths template", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_INSTALL_BINDIR": "bin", |
| "CMAKE_INSTALL_SBINDIR": "bin", |
| "CMAKE_INSTALL_LIBDIR": "lib", |
| "CMAKE_INSTALL_SYSCONFDIR": "etc/trafficserver", |
| "CMAKE_INSTALL_DATADIR": "share/trafficserver", |
| "CMAKE_INSTALL_INCLUDEDIR": "include", |
| "CMAKE_INSTALL_LIBEXECDIR": "libexec/trafficserver", |
| "CMAKE_INSTALL_RUNSTATEDIR": "var/trafficserver", |
| "CMAKE_INSTALL_INFODIR": "share/info", |
| "CMAKE_INSTALL_MANDIR": "share/man", |
| "CMAKE_INSTALL_LOGDIR": "var/log/trafficserver", |
| "CMAKE_INSTALL_CACHEDIR": "var/trafficserver" |
| } |
| }, |
| { |
| "name": "release", |
| "displayName": "Release build", |
| "description": "Release build with Ninja generator", |
| "generator": "Ninja", |
| "binaryDir": "${sourceDir}/build-release", |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Release", |
| "CMAKE_COMPILE_WARNING_AS_ERROR": "OFF", |
| "CMAKE_INSTALL_PREFIX": "/opt/ats", |
| "BUILD_EXPERIMENTAL_PLUGINS": "ON" |
| } |
| }, |
| { |
| "name": "autest", |
| "inherits": ["default"], |
| "binaryDir": "${sourceDir}/build-autest", |
| "cacheVariables": { |
| "ENABLE_AUTEST": "ON", |
| "CMAKE_INSTALL_PREFIX": "/tmp/ts-autest", |
| "BUILD_EXPERIMENTAL_PLUGINS": "ON", |
| "ENABLE_EXAMPLE": "ON" |
| } |
| }, |
| { |
| "name": "dev", |
| "displayName": "development", |
| "description": "Development Presets", |
| "inherits": ["default"], |
| "binaryDir": "${sourceDir}/build-${presetName}", |
| "generator": "Ninja", |
| "cacheVariables": { |
| "CMAKE_COLOR_DIAGNOSTICS": "ON", |
| "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", |
| "CMAKE_INSTALL_PREFIX": "/tmp/ats-dev" |
| } |
| }, |
| { |
| "name": "asan", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined", |
| "CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address,undefined" |
| } |
| }, |
| { |
| "name": "hardened", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS": "-D_FORTIFY_SOURCE=2 -fPIE -fstack-protector", |
| "CMAKE_EXE_LINKER_FLAGS": "-pie -Wl,-z,relro -Wl,-z,now" |
| } |
| }, |
| { |
| "name": "dev-asan", |
| "displayName": "dev with asan", |
| "description": "Development Presets with ASAN sanitizer", |
| "inherits": ["dev", "asan"] |
| }, |
| { |
| "name": "ci", |
| "displayName": "CI defaults", |
| "description": "Defaults for CI Pipeline builds", |
| "generator": "Ninja", |
| "binaryDir": "${sourceDir}/build-ci", |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Debug", |
| "CMAKE_COMPILE_WARNING_AS_ERROR": "ON", |
| "ENABLE_CCACHE": "ON", |
| "BUILD_EXPERIMENTAL_PLUGINS": "ON", |
| "ENABLE_EXAMPLE": "ON", |
| "CMAKE_INSTALL_PREFIX": "/tmp/ats" |
| } |
| }, |
| { |
| "name": "ci-centos", |
| "displayName": "CI CentOS", |
| "description": "CI Pipeline config for CentOS", |
| "inherits": ["ci"], |
| "generator": "Unix Makefiles", |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Release", |
| "OPENSSL_ROOT_DIR": "/opt/openssl-quic" |
| } |
| }, |
| { |
| "name": "ci-docs", |
| "displayName": "Docs Build", |
| "description": "Presets for CI build of ATS docs", |
| "binaryDir": "${sourceDir}/build-docs", |
| "generator": "Ninja", |
| "cacheVariables": { |
| "ENABLE_DOCS": "ON" |
| } |
| }, |
| { |
| "name": "ci-osx", |
| "displayName": "CI OSX", |
| "description": "CI Pipeline config for OSX", |
| "inherits": ["ci"], |
| "generator": "Unix Makefiles", |
| "cacheVariables": { |
| "ENABLE_CRIPTS": "ON" |
| } |
| }, |
| { |
| "name": "ci-rocky", |
| "displayName": "CI Rocky", |
| "description": "CI Pipeline config for Rocky Linux", |
| "inherits": ["ci"], |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", |
| "quiche_ROOT": "/opt/h3-tools-boringssl/quiche", |
| "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", |
| "opentelemetry_ROOT": "/opt", |
| "ENABLE_QUICHE": "ON" |
| } |
| }, |
| { |
| "name": "ci-fedora", |
| "displayName": "CI Fedora", |
| "description": "CI Pipeline config for Fedora Linux", |
| "inherits": ["ci"], |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/opt/openssl-quic", |
| "opentelemetry_ROOT": "/opt", |
| "CURL_ROOT": "/opt", |
| "wamr_ROOT": "/opt", |
| "ENABLE_CRIPTS": "ON" |
| } |
| }, |
| { |
| "name": "ci-fedora-cxx20", |
| "displayName": "CI Fedora c++20", |
| "description": "CI Pipeline config for Fedora Linux compiled with c++20", |
| "inherits": ["ci"], |
| "cacheVariables": { |
| "opentelemetry_ROOT": "/opt", |
| "CURL_ROOT": "/opt", |
| "wamr_ROOT": "/opt", |
| "CMAKE_CXX_STANDARD": "20", |
| "ENABLE_CRIPTS": "ON" |
| } |
| }, |
| { |
| "name": "ci-fedora-quiche", |
| "displayName": "CI Fedora Quiche", |
| "description": "CI Pipeline config for Fedora Linux (quiche build)", |
| "inherits": ["ci"], |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", |
| "quiche_ROOT": "/opt/h3-tools-boringssl/quiche", |
| "opentelemetry_ROOT": "/opt", |
| "CURL_ROOT": "/opt", |
| "wamr_ROOT": "/opt", |
| "CMAKE_INSTALL_PREFIX": "/tmp/ats-quiche", |
| "ENABLE_QUICHE": "ON" |
| } |
| }, |
| { |
| "name": "ci-fedora-autest", |
| "displayName": "CI Fedora Quiche Autest", |
| "description": "CI Pipeline config for Fedora Linux (autest build)", |
| "inherits": ["ci-fedora", "autest"] |
| }, |
| { |
| "name": "ci-freebsd", |
| "displayName": "CI Fedora", |
| "description": "CI Pipeline config for Fedora Linux", |
| "generator": "Unix Makefiles", |
| "binaryDir": "${sourceDir}/build-${presetName}", |
| "cacheVariables": { |
| "CMAKE_INSTALL_PREFIX": "/tmp/ats", |
| "BUILD_EXPERIMENTAL_PLUGINS": "ON" |
| } |
| }, |
| { |
| "name": "ci-debian", |
| "displayName": "CI Debian Hardened Build", |
| "description": "CI Pipeline config for Debian with hardening flags", |
| "inherits": ["ci", "hardened"], |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/opt/openssl-quic" |
| } |
| }, |
| { |
| "name": "ci-ubuntu", |
| "displayName": "CI Ubuntu Hardened Build", |
| "description": "CI Pipeline config for Ubuntu with hardening flags", |
| "inherits": ["ci", "hardened"] |
| }, |
| { |
| "name": "ci-clang-analyzer", |
| "displayName": "CI Clang Analyzer", |
| "description": "CI Pipeline config for running clang-analyzer", |
| "inherits": ["ci"], |
| "cacheVariables": { |
| "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", |
| "ENABLE_CCACHE": "OFF", |
| "ENABLE_EXAMPLE": "OFF", |
| "BUILD_TESTING": "OFF" |
| } |
| }, |
| { |
| "name": "branch", |
| "displayName": "CI branch defaults", |
| "inherits": ["ci"], |
| "binaryDir": "${sourceDir}/build", |
| "generator": "Unix Makefiles" |
| }, |
| { |
| "name": "branch-release", |
| "displayName": "CI branch release", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Release" |
| } |
| }, |
| { |
| "name": "branch-debug", |
| "displayName": "CI branch debug", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Debug" |
| } |
| }, |
| { |
| "name": "branch-asan", |
| "description": "Inherit to enable asan, build feature", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address", |
| "CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=address" |
| } |
| }, |
| { |
| "name": "branch-lsan", |
| "description": "Inherit to enable lsan, build feature", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=leak", |
| "CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=leak" |
| } |
| }, |
| { |
| "name": "branch-tsan", |
| "description": "Inherit to enable tsan, build feature", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=thread", |
| "CMAKE_C_FLAGS_DEBUG": "-g -fsanitize=thread" |
| } |
| }, |
| { |
| "name": "branch-hardened", |
| "description": "Inherit to enable hardening, build feature", |
| "hidden": true, |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS": "-D_FORTIFY_SOURCE=2 -fPIE -fstack-protector", |
| "CMAKE_EXE_LINKER_FLAGS": "-pie -Wl,-z,relro -Wl,-z,now" |
| } |
| }, |
| { |
| "name": "branch-quiche-on-boringssl", |
| "displayName": "CI branch Quiche", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "ENABLE_AUTEST": "ON", |
| "nuraft_ROOT": "/opt/nuraft-boringssl", |
| "OPENSSL_ROOT_DIR": "/opt/h3-tools-boringssl/boringssl", |
| "quiche_ROOT": "/opt/h3-tools-boringssl/quiche", |
| "ENABLE_QUICHE": "ON" |
| } |
| }, |
| { |
| "name": "branch-quiche-on-openssl", |
| "displayName": "CI branch Quiche", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "ENABLE_AUTEST": "ON", |
| "nuraft_ROOT": "/opt/nuraft-boringssl", |
| "OPENSSL_ROOT_DIR": "/opt/openssl-quic/", |
| "quiche_ROOT": "/opt/quiche", |
| "ENABLE_QUICHE": "ON" |
| } |
| }, |
| { |
| "name": "branch-quic", |
| "displayName": "CI branch QUIC", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/opt/openssl-quic" |
| } |
| }, |
| { |
| "name": "branch-autest", |
| "displayName": "CI branch autest", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "ENABLE_AUTEST": "ON", |
| "ENABLE_EXAMPLE": "ON" |
| } |
| }, |
| { |
| "name": "branch-freebsd", |
| "displayName": "CI branch freebsd", |
| "description": "Defaults for branch freebsd builds", |
| "inherits": ["branch"], |
| "generator": "Unix Makefiles" |
| }, |
| { |
| "name": "branch-osx", |
| "displayName": "CI branch OSX", |
| "description": "Defaults for branch osx builds", |
| "inherits": ["branch"], |
| "generator": "Unix Makefiles", |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/usr/local/opt/openssl" |
| } |
| }, |
| { |
| "name": "branch-osx-m1", |
| "displayName": "CI branch OSX m1", |
| "description": "Defaults for branch osx-m1 builds", |
| "inherits": ["branch"], |
| "generator": "Unix Makefiles", |
| "cacheVariables": { |
| "OPENSSL_ROOT_DIR": "/opt/homebrew/opt/openssl" |
| } |
| }, |
| { |
| "name": "branch-clang-analyzer", |
| "displayName": "CI branch clang analyzer", |
| "description": "Defaults for branch clang analyzer builds", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", |
| "ENABLE_CCACHE": "OFF", |
| "ENABLE_EXAMPLE": "OFF", |
| "BUILD_TESTING": "OFF" |
| } |
| }, |
| { |
| "name": "branch-coverity", |
| "displayName": "CI branch coverity", |
| "description": "Defaults for branch coverity builds", |
| "inherits": ["branch"], |
| "cacheVariables": { |
| "CMAKE_BUILD_TYPE": "Debug", |
| "BUILD_EXPERIMENTAL_PLUGINS": "ON", |
| "ENABLE_EXAMPLE": "ON" |
| } |
| }, |
| { |
| "name": "branch-coverage", |
| "displayName": "CI branch coverage", |
| "description": "Defaults for branch coverage builds", |
| "inherits": ["branch-autest"], |
| "cacheVariables": { |
| "CMAKE_CXX_FLAGS_DEBUG": "--coverage", |
| "CMAKE_C_FLAGS_DEBUG": "--coverage" |
| } |
| } |
| ], |
| "buildPresets": [ |
| { |
| "name": "autest", |
| "configurePreset": "autest", |
| "targets": ["autest"] |
| } |
| ] |
| } |
| |