aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2018-09-21 10:39:56 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-06 07:39:33 +0200
commit2a076c85676612d32e5076ae8708618b13bc6ff7 (patch)
treee0a15a7c8bee67b6e23616d1bf96f2ac019c604f
parentbf42a3fe559b53b62db9c6363efbec612804dbe7 (diff)
Fix zig test including pthread, fix broken sibs test for c/c++
-rw-r--r--backend/ninja/Ninja.cpp6
-rw-r--r--src/main.cpp12
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);
}