Files
pdf/CMakePresets.json
T

179 lines
6.1 KiB
JSON

{
"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$<$<CONFIG:Debug>: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": "wasm-pdfium",
"displayName": "WASM • Emscripten + PDFium (live-preview engine)",
"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": "ON"
}
},
{
"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": "wasm-pdfium", "configurePreset": "wasm-pdfium" },
{ "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" }
]
}