diff --git a/implementations/Crafter.Build-Project.cpp b/implementations/Crafter.Build-Project.cpp index 4b714f1..d395ead 100644 --- a/implementations/Crafter.Build-Project.cpp +++ b/implementations/Crafter.Build-Project.cpp @@ -245,7 +245,20 @@ namespace Crafter { std::string editedTarget = config.target; std::replace(editedTarget.begin(), editedTarget.end(), '-', '_'); - std::string command = std::format("clang++ -stdlib=libc++ --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={} -I{} -I{}", config.target, config.march, config.march, config.standard, editedTarget, (exeDir/config.target).string(), buildDir.string(), (exeDir/"cloneCache").string()); + std::string command = std::format("clang++ -stdlib=libc++ --target={} -march={} -mtune={} -std={} -D CRAFTER_BUILD_CONFIGURATION_TARGET_{} -fprebuilt-module-path={}", config.target, config.march, config.march, config.standard, editedTarget, (exeDir/config.target).string()); + + + for (const auto& entry : fs::directory_iterator(buildDir)) { + if (entry.is_directory()) { + command += " -I" + entry.path().string() + " "; + } + } + + for (const auto& entry : fs::directory_iterator(exeDir/"cloneCache")) { + if (entry.is_directory()) { + command += " -I" + entry.path().string() + " "; + } + } if(config.target == "wasm32-wasi") { command += std::format(" --sysroot={} -fno-exceptions -fno-c++-static-destructors", (exeDir/"wasi-sysroot-28.0").string());