This commit is contained in:
Jorijn van der Graaf 2025-11-01 11:02:52 +01:00
commit 72effdee9b
3 changed files with 18 additions and 11 deletions

View file

@ -68,17 +68,17 @@ namespace Crafter {
}
void Project::Build(Configuration& config) const {
if(binDir.empty()) {
Build(config, "bin"/fs::path(config.name));
Build(config, path/("bin"/fs::path(config.name)));
} else {
Build(config, this->binDir/config.name);
Build(config, path/this->binDir/config.name);
}
}
void Project::Build(Configuration& config, const fs::path& binDir) const {
fs::path buildDir;
if(this->buildDir.empty()) {
buildDir = "build"/fs::path(config.name);
buildDir = path/("build"/fs::path(config.name));
} else {
buildDir = this->buildDir/config.name;
buildDir = path/this->buildDir/config.name;
}
Build(config, binDir, buildDir, name);
}
@ -112,6 +112,7 @@ namespace Crafter {
}
});
std::string command = "clang++";
if(!config.target.empty()) {
command += std::format(" -target={}", config.target);
@ -202,7 +203,7 @@ clang++ -std=c++26 -Wno-reserved-identifier -Wno-reserved-module-identifier --pr
} else {
depBuildDir = fs::path(config.dependencies[i].path).parent_path()/project.buildDir/depConfig.name;
}
project.Build(depConfig, binDir, depBuildDir);
project.Build(depConfig, pcmDir, depBuildDir);
libMutex.lock();
if (depLibSet.insert(project.name).second) {
libsString+=std::format(" -l{}", project.name);
@ -337,15 +338,15 @@ clang++ -std=c++26 -Wno-reserved-identifier -Wno-reserved-module-identifier --pr
TestResult Project::RunTest(Test& test) const {
fs::path binDir;
if(this->binDir.empty()) {
binDir = "bin"/fs::path(test.config.name);
binDir = path/("bin"/fs::path(test.config.name));
} else {
binDir = this->binDir/test.config.name;
binDir = path/this->binDir/test.config.name;
}
fs::path buildDir;
if(this->buildDir.empty()) {
buildDir = "build"/fs::path(test.config.name);
buildDir = path/("build"/fs::path(test.config.name));
} else {
buildDir = this->buildDir/test.config.name;
buildDir = path/this->buildDir/test.config.name;
}
try {