Inside the companion
First Light
Make your first CPU image, rasterize triangles, and trace an allocation budget.
Project files 15
Choose a build experiment
Separate Clang/Ninja Debug, Release, and sanitizer configure, build, and test presets.
{
"version": 6,
"cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 },
"configurePresets": [
{
"name": "clang-base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"CMAKE_CXX_COMPILER": "clang++",
"CMAKE_EXPORT_COMPILE_COMMANDS": true,
"BUILD_TESTING": true
}
},
{
"name": "clang-debug",
"displayName": "Clang + Ninja / Debug",
"inherits": "clang-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "PRISM_SANITIZERS": false }
},
{
"name": "clang-release",
"displayName": "Clang + Ninja / Release",
"inherits": "clang-base",
"cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "PRISM_SANITIZERS": false }
},
{
"name": "clang-sanitize",
"displayName": "Clang + Ninja / Address + Undefined Behavior Sanitizers",
"inherits": "clang-debug",
"cacheVariables": { "PRISM_SANITIZERS": true }
}
],
"buildPresets": [
{ "name": "clang-debug", "configurePreset": "clang-debug" },
{ "name": "clang-release", "configurePreset": "clang-release" },
{ "name": "clang-sanitize", "configurePreset": "clang-sanitize" }
],
"testPresets": [
{ "name": "clang-debug", "configurePreset": "clang-debug", "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error" } },
{ "name": "clang-release", "configurePreset": "clang-release", "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error" } },
{ "name": "clang-sanitize", "configurePreset": "clang-sanitize", "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error" } }
]
}
This is the file included with the course. Copy and download give you its complete source.
Taking your work offline? Download all course companions
