diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-09-21 10:39:56 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-07-06 07:39:33 +0200 |
commit | 2a076c85676612d32e5076ae8708618b13bc6ff7 (patch) | |
tree | e0a15a7c8bee67b6e23616d1bf96f2ac019c604f | |
parent | bf42a3fe559b53b62db9c6363efbec612804dbe7 (diff) |
Fix zig test including pthread, fix broken sibs test for c/c++
-rw-r--r-- | backend/ninja/Ninja.cpp | 6 | ||||
-rw-r--r-- | src/main.cpp | 12 |
2 files changed, 10 insertions, 8 deletions
diff --git a/backend/ninja/Ninja.cpp b/backend/ninja/Ninja.cpp index c642a4c..fc1142b 100644 --- a/backend/ninja/Ninja.cpp +++ b/backend/ninja/Ninja.cpp @@ -551,7 +551,7 @@ namespace backend if(strncmp(&cLibraries[libraryIndexStart], "-l", 2) == 0) libraryIndexStart += 2; - else if(strcmp(&cLibraries[libraryIndexStart], "-pthread") == 0) + else if(strncmp(&cLibraries[libraryIndexStart], "-pthread", libraryIndexEnd - libraryIndexStart) == 0) continue; size_t libraryPathLength = libraryIndexEnd - libraryIndexStart; @@ -571,13 +571,15 @@ namespace backend if(strncmp(&cLibraries[libraryIndexStart], "-l", 2) == 0) libraryIndexStart += 2; - else if(strcmp(&cLibraries[libraryIndexStart], "-pthread") == 0) + else if(strncmp(&cLibraries[libraryIndexStart], "-pthread", libraryIndexEnd - libraryIndexStart) == 0) continue; size_t libraryPathLength = libraryIndexEnd - libraryIndexStart; if(libraryPathLength > 0) result.push_back(ninja::NinjaArg::createRaw(cLibraries.substr(libraryIndexStart, libraryPathLength))); } + else + ++i; } return result; diff --git a/src/main.cpp b/src/main.cpp index 6c9df97..b232d93 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -285,6 +285,12 @@ int buildProject(const FileString &projectPath, const FileString &projectConfFil break; } } + + if(sibsConfig.shouldBuildTests() && sibsConfig.getTestPath().empty() && !sibsConfig.zigTestAllFiles && sibsConfig.zigTestFiles.empty()) + { + printf("Project is missing package.tests config. No tests to build\n"); + exit(50); + } backend::BackendUtils::collectSourceFiles(projectPath.c_str(), &ninja, sibsConfig); sibsConfig.setMainProject(true); @@ -526,12 +532,6 @@ int testProject(int argc, const _tinydir_char_t **argv) sibsConfig.zigTestFiles = move(filesToTest); sibsConfig.zigTestAllFiles = testAllFiles; - if(sibsConfig.getTestPath().empty() && !sibsConfig.zigTestAllFiles && sibsConfig.zigTestFiles.empty()) - { - printf("Project is missing package.tests config. No tests to build\n"); - exit(50); - } - return buildProject(projectPath, projectConfFilePath, sibsConfig); } |