RU
Добавлено:
- Директория
.dcr/— единый machine-readable источник фактов о сборке для IDE/расширений: .dcr/compile_commands.json.dcr/build-info.json(schemaVersion,artifact_path,profile, …).dcr/toolchain.json(compiler/debugger paths, moc/uic/rcc).dcr/ide/(заготовки lock-файлов для расширений)dcr gen project-info— поляtarget,target_dir,artifact_path,artifact_kind,source_roots,include_globs,exclude_globs; пути абсолютные/канонические.dcr build --print-artifact-path— после успешной сборки одна строка absolute path на stdout.dcr gen … --quiet/-q— без human-лога на stdout дляcompile-commands/project-info..clangd— при первомgenсоздаётся сCompilationDatabase: .dcr(маркер# managed by dcr gen); ручной.clangdне перезаписывается.- Хелперы
canonicalize_path,atomic_write,ensure_dcr_dir; pureresolve_artifact_pathчерезplatform::*. dcr new/dcr init—.dcr/в.gitignore.
Изменено (breaking):
compile_commands.jsonперенесён из корня проекта в.dcr/compile_commands.json.
clangd находит базу через.clangd/clangd.arguments --compile-commands-dir=.dcr.
CLionmisc.xmlи VSCodesettings.jsonобновлены под новый путь.- Атомарная запись
compile_commands.json(tmp + rename). gen vscode/gen clionlaunch/run —program/executableчерез тот же artifact resolver, чтоproject-info/build-info.json(Linux triple, Windows.exe, customtarget/filename).
Исправлено:
- Launch-конфиги больше не указывают
target/<profile>/<name>без triple на Linux. - Симлинки/mount: root и пути в compile database канонизируются best-effort.
EN
Added:
.dcr/directory — shared machine-readable build facts for IDE integrations:.dcr/compile_commands.json.dcr/build-info.json(schemaVersion,artifact_path,profile, …).dcr/toolchain.json(compiler/debugger paths, moc/uic/rcc).dcr/ide/(placeholder for IDE lock files)dcr gen project-info—target,target_dir,artifact_path,artifact_kind,source_roots,include_globs,exclude_globs; absolute/canonical paths.dcr build --print-artifact-path— one absolute artifact path line on stdout after a successful build.dcr gen … --quiet/-q— suppress human success logs for gen subcommands..clangd— created on first gen withCompilationDatabase: .dcr(# managed by dcr gen); custom.clangdis not overwritten.- Helpers
canonicalize_path,atomic_write,ensure_dcr_dir; pureresolve_artifact_pathviaplatform::*. dcr new/dcr init— add.dcr/to.gitignore.
Changed (breaking):
compile_commands.jsonmoved from project root to.dcr/compile_commands.json.
clangd discovers it via.clangd/--compile-commands-dir=.dcr.
CLion and VSCode generators updated accordingly.- Atomic write for compile_commands (tmp + rename).
gen vscode/gen clionlaunch/run — use the same artifact path resolver asproject-info/build-info.json.
Fixed:
- Launch configs no longer hardcode
target/<profile>/<name>without the Linux triple segment. - Symlink/mount roots: best-effort canonicalize for root and compile database paths.