{ "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 }, "configurePresets": [ { "name": "base", "hidden": true, "generator": "Ninja", "binaryDir": "${sourceDir}/out/build/${presetName}", "installDir": "${sourceDir}/out/install/${presetName}", "toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "PDFENGINE_BUILD_TESTS": "ON" } }, { "name": "debug", "hidden": true, "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "release", "hidden": true, "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" } }, { "name": "asan", "hidden": true, "inherits": "debug", "cacheVariables": { "PDFENGINE_ENABLE_SANITIZERS": "ON" } }, { "name": "windows-base", "hidden": true, "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }, "architecture": { "value": "x64", "strategy": "external" }, "cacheVariables": { "VCPKG_TARGET_TRIPLET": "x64-windows-static", "CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded$<$:Debug>" } }, { "name": "windows-debug", "displayName": "Windows • Debug", "inherits": ["debug", "windows-base"] }, { "name": "windows-release", "displayName": "Windows • Release", "inherits": ["release", "windows-base"] }, { "name": "windows-asan", "displayName": "Windows • Debug + ASan", "inherits": ["asan", "windows-base"] }, { "name": "linux-debug", "displayName": "Linux • Debug", "inherits": "debug", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" } }, { "name": "linux-release", "displayName": "Linux • Release", "inherits": "release", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" } }, { "name": "linux-asan", "displayName": "Linux • Debug + ASan/UBSan", "inherits": "asan", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" } }, { "name": "macos-debug", "displayName": "macOS • Debug", "inherits": "debug", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" } }, { "name": "macos-release", "displayName": "macOS • Release", "inherits": "release", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" } }, { "name": "macos-asan", "displayName": "macOS • Debug + ASan/UBSan", "inherits": "asan", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" } }, { "name": "wasm", "displayName": "WASM • Emscripten hello-world (Phase 0, Rule R5)", "generator": "Ninja", "binaryDir": "${sourceDir}/out/build/${presetName}", "toolchainFile": "${sourceDir}/cmake/toolchains/vcpkg-wasm.cmake", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "PDFENGINE_BUILD_TESTS": "OFF", "PDFENGINE_WITH_PDFIUM": "OFF" } }, { "name": "fuzz-linux", "displayName": "Linux • libFuzzer (Clang + ASan)", "inherits": "base", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" }, "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++", "PDFENGINE_FUZZING": "ON", "PDFENGINE_WITH_PDFIUM": "ON", "PDFENGINE_FUZZ_SANITIZERS": "fuzzer,address,undefined" } }, { "name": "fuzz-linux-nosan", "displayName": "Linux • libFuzzer (Clang, coverage-only — for non-ASan PDFium)", "inherits": "fuzz-linux", "cacheVariables": { "PDFENGINE_FUZZ_SANITIZERS": "fuzzer" } } ], "buildPresets": [ { "name": "windows-debug", "configurePreset": "windows-debug" }, { "name": "windows-release", "configurePreset": "windows-release" }, { "name": "windows-asan", "configurePreset": "windows-asan" }, { "name": "linux-debug", "configurePreset": "linux-debug" }, { "name": "linux-release", "configurePreset": "linux-release" }, { "name": "linux-asan", "configurePreset": "linux-asan" }, { "name": "macos-debug", "configurePreset": "macos-debug" }, { "name": "macos-release", "configurePreset": "macos-release" }, { "name": "macos-asan", "configurePreset": "macos-asan" }, { "name": "wasm", "configurePreset": "wasm" }, { "name": "fuzz-linux", "configurePreset": "fuzz-linux" }, { "name": "fuzz-linux-nosan", "configurePreset": "fuzz-linux-nosan" } ], "testPresets": [ { "name": "common", "hidden": true, "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error", "stopOnFailure": false } }, { "name": "windows-debug", "inherits": "common", "configurePreset": "windows-debug" }, { "name": "windows-asan", "inherits": "common", "configurePreset": "windows-asan" }, { "name": "linux-debug", "inherits": "common", "configurePreset": "linux-debug" }, { "name": "linux-asan", "inherits": "common", "configurePreset": "linux-asan" }, { "name": "macos-debug", "inherits": "common", "configurePreset": "macos-debug" }, { "name": "macos-asan", "inherits": "common", "configurePreset": "macos-asan" } ] }