CMake File API产物清单
关联本地codemodel2各配置reply文件,按顶层build root解析全部声明产物并保留完整依赖。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
不用nameOnDisk或target子目录猜完整输出路径;本地读取导出reply快照,不编译或运行项目命令。
如何使用
- 选择index、codemodel和引用的target reply JSON文件。
- 多个index时选准确basename,并选择快照POSIX/Windows路径模式。
- 核对全部产物、utility状态和依赖,下载完整JSON/CSV供独立打包工作流。
支持范围与限制
最多2000个不同JSON basename,每份1MiB、合计10MiB,不粘贴。跨配置target10000、产物20000、依赖50000、合计JSON值500000、深度64;完整下载20MiB,组合预算原子生效。
多个index时明确选择basename,仅唯一index自动选。引用必须是集合中合法单一basename;缺失/穿越/歧义引用、id/name不符和同配置重复target ID拒绝;不同配置可复用ID。
仅codemodel major2/minor0..7快照。所有配置/target/产物保留,无产物明确no-declared-artifacts。不能用nameOnDisk补造产物;未知reply对象/文件/target字段列为未解释。
相对产物按codemodel.paths.build解析,不按target.paths.build。明确POSIX/Windows词法模式,保留绝对/drive/UNC锚点并归一点路径。Windows的C:foo相对drive有歧义、不支持;配置外依赖保留悬空声明。
不stat路径/build/运行command/CMakeLists,command fragments未解释;声明路径不证明文件存在或构建成功。预览200行/每格2000字符,报告超过20000字符时文本/复制为明确预览,JSON/CSV完整。
操作示例
示例输入
[selected fixed files]
示例参数
{"secondary":"","params":{"indexFile":"","pathMode":"posix","spreadsheetSafe":true}}示例输出
{"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."}出现问题时
补齐引用reply文件并保持唯一basename,选准确index/路径模式;不支持版本或drive相对路径需来源重新导出支持快照。修正/取消后重跑。
常见问题
产物前应该加哪个build目录?
codemodel.paths.build是顶层root。target.paths.build可能是子目录,不应再次前缀。
为什么utility没有文件名?
utility可合法没有产物,报告保留target和状态,不从nameOnDisk造输出。
会运行CMake或检查磁盘吗?
不会,只读声明,不stat、编译、执行CMakeLists或启动可执行文件。