CMake File API artifact inventory
Join local codemodel2 reply files across configurations, resolving every declared artifact against the top-level build root with full dependencies.
- 1Add input
- 2Adjust settings
- 3Get your result
Tool input and files are processed in this browser without being uploaded.
Before you start
Find full declared output paths without guessing from nameOnDisk or a target’s subdirectory. Read the exported reply snapshot locally, without compiling or running project commands.
How to use this tool
- Select index,codemodel and referenced target reply JSON files.
- Choose the index when ambiguous and the snapshot’s POSIX/Windows path mode.
- Review every artifact,utility status and dependency; download complete JSON/CSV for a separate packaging workflow.
Supported inputs and limits
Select up to2,000 distinct JSON basenames,each1MiB,total10MiB; no paste. Targets across configurations10,000,artifacts20,000,dependencies50,000,aggregate JSON values500,000,depth64. Complete downloads20MiB; combined budgets apply atomically.
Select an index basename when several indexes exist; one is chosen automatically only when unique. References must be single legal basenames in the collection. Missing/traversal/ambiguous references,id/name mismatch and duplicate target IDs within a configuration reject; IDs reused across configurations remain.
Only codemodel major2/minor0..7 snapshots are supported. Every configuration,target and artifact remains; no artifact is an explicit no-declared-artifacts status. nameOnDisk does not replace missing artifacts. Unknown reply objects/files/target fields are listed as uninterpreted.
Relative artifact paths resolve against codemodel.paths.build,never target.paths.build. Choose POSIX or Windows lexical mode; preserve absolute paths,drive and UNC anchors while normalizing dots. Windows drive-relative C:foo is ambiguous and unsupported; dependencies outside a config remain dangling declarations.
No path stat/build/command/CMakeLists execution; command fragments remain uninterpreted. Declared paths do not prove a file exists or a build succeeded. Preview200 rows/cell2000; >20,000 report characters gives labelled text/copy preview; full JSON/CSV remain complete.
Worked example
Example input
[selected fixed files]
Example options
{"secondary":"","params":{"indexFile":"","pathMode":"posix","spreadsheetSafe":true}}Example output
{"format":"CMake-FileAPI-codemodel2-local-declarations","summary":{"indexFile":"index-2026-10-06T20-46-35-0924.json","pathMode":"posix","codemodelMajor":2,"codemodelMinor":7,"configurations":1,"targets":4,"artifacts":3,"dependencies":0,"danglingDependencies":0,"inputFiles":8,"inputBytes":6947,"jsonNodes":299,"uninterpretedReplyObjects":0,"uninterpretedFiles":2},"buildRoot":"/tmp/neatbo-data-d061-prototype-v1/cmake-build","targets":[{"configurationIndex":0,"configuration":"","id":"app::@6890427a1f51a3e7e1df","name":"app","type":"EXECUTABLE","buildRoot":"/tmp/neatbo-data-d061-prototype-v1/cmake-build","targetBuildPath":".","nameOnDisk":"app","sourceFile":"target-app-2dd706a842aeee50d682.json","status":"declared-artifacts","artifacts":[{"rawPath":"dist/app","resolvedPath":"/tmp/neatbo-data-d061-prototype-v1/cmake-build/dist/app"}],"dependencies":[],"unreviewedFields":["backtrace","backtraceGraph","compileGroups","link","sourceGroups","sources"]},{"configurationIndex":0,"configuration":"","id":"notes::@6890427a1f51a3e7e1df","name":"notes","type":"UTILITY","buildRoot":"/tmp/neatbo-data-d061-prototype-v1/cmake-build","targetBuildPath":".","nameOnDisk":null,"sourceFile":"target-notes-7e86ce9c0b487c059840.json","status":"no-declared-artifacts","artifacts":[],"dependencies":[],"unreviewedFields":["backtrace","backtraceGraph","sourceGroups","sources"]},{"configurationIndex":0,"configuration":"","id":"shared::@2417087a58ea4ddb4a1c","name":"shared","type":"SHARED_LIBRARY","buildRoot":"/tmp/neatbo-data-d061-prototype-v1/cmake-build","targetBuildPath":"sub","nameOnDisk":"libshared.dylib","sourceFile":"target-shared-9b19ad73f9f1bf782e6e.json","status":"declared-artifacts","artifacts":[{"rawPath":"pkg/shared/libshared.dylib","resolvedPath":"/tmp/neatbo-data-d061-prototype-v1/cmake-build/pkg/shared/libshared.dylib"}],"dependencies":[],"unreviewedFields":["backtrace","backtraceGraph","compileGroups","link","sourceGroups","sources"]},{"configurationIndex":0,"configuration":"","id":"side::@2417087a58ea4ddb4a1c","name":"side","type":"STATIC_LIBRARY","buildRoot":"/tmp/neatbo-data-d061-prototype-v1/cmake-build","targetBuildPath":"sub","nameOnDisk":"libside.a","sourceFile":"target-side-47fcaaa8f82a0e55dad3.json","status":"declared-artifacts","artifacts":[{"rawPath":"pkg/lib/libside.a","resolvedPath":"/tmp/neatbo-data-d061-prototype-v1/cmake-build/pkg/lib/libside.a"}],"dependencies":[],"unreviewedFields":["archive","backtrace","backtraceGraph","compileGroups","sourceGroups","sources"]}],"otherReplyObjects":[],"uninterpretedFiles":["directory-.-f5ebdc15457944623624.json","directory-sub-345c40cd4fda4f871b7a.json"],"scope":"All artifact paths resolve lexically against codemodel.paths.build, never target.paths.build or nameOnDisk. Paths and dependencies are declarations, not existing files or build success. No CMakeLists, commands, build or executable is run. Other reply objects/files and target fields are listed as uninterpreted; command fragments are not inspected."}When something does not work
Supply the missing referenced reply files and preserve unique basenames. Choose the intended index and correct path mode. Unsupported versions or drive-relative paths need a fresh supported producer snapshot; rerun after correction/cancellation.
Frequently asked questions
Which build directory prefixes an artifact?
codemodel.paths.build is the top-level root. target.paths.build may be a subdirectory and must not be prefixed again.
Why is a utility target missing a filename?
A utility can legitimately declare no artifact. The report keeps its target and status without inventing output from nameOnDisk.
Will it run CMake or check disk files?
No. It reads declarations only,without stat,compilation,CMakeLists evaluation or executable launch.
Documentation & further reading
Related tools
JSON formatting workspace
Format or minify strict JSON, sort object keys, and encode or decode strings while preserving raw number tokens.
Regex tester
Try a pattern and see what it matches in your text.
Compare text
See what changed, side by side.
HTML formatter
Format HTML indentation so its structure is easier to read.