mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 19:19:41 +00:00
Added:
- `dcr gen` command for IDE integration and build tool support
- `dcr gen project-info`: Output project metadata as JSON
- `dcr gen compile-commands`: Generate `compile_commands.json` for clangd and clang-tidy
- `dcr gen vscode`: Generate VS Code `.vscode/` integration (launch.json, tasks.json, settings.json)
- `dcr gen clion`: Generate JetBrains CLion `.idea/` integration (run configurations, build targets)
- Full workspace support for all `gen` subcommands
This commit is contained in:
@@ -7,7 +7,8 @@ use std::process::Command;
|
||||
use std::time::Instant;
|
||||
|
||||
pub fn build(ctx: &BuildContext) -> Result<f64, String> {
|
||||
if ctx.language.to_lowercase().as_str() != "asm" {
|
||||
let lang = ctx.language.to_lowercase();
|
||||
if lang.split('+').any(|p| p.trim() != "asm") {
|
||||
return Err("NASM backend requires build.language = \"asm\"".to_string());
|
||||
}
|
||||
let assembler = if ctx.compiler.is_empty() {
|
||||
@@ -91,7 +92,12 @@ pub fn build(ctx: &BuildContext) -> Result<f64, String> {
|
||||
|
||||
pub(crate) fn collect_sources(ctx: &BuildContext) -> Result<Vec<String>, String> {
|
||||
// NASM handles lowercase .s and .asm only (not .S which is GCC preprocessed)
|
||||
common::collect_sources(&["asm", "s"], ctx.exclude_dirs)
|
||||
common::collect_sources(
|
||||
ctx.source_roots,
|
||||
&["asm", "s"],
|
||||
ctx.exclude_dirs,
|
||||
ctx.include_paths,
|
||||
)
|
||||
}
|
||||
|
||||
fn build_objects(
|
||||
|
||||
Reference in New Issue
Block a user