[analyzer] SATest: Do not re-run CMake in Docker if not needed
authorValeriy Savchenko <vsavchenko@apple.com>
Mon, 8 Jun 2020 09:47:21 +0000 (12:47 +0300)
committerValeriy Savchenko <vsavchenko@apple.com>
Thu, 25 Jun 2020 09:28:22 +0000 (12:28 +0300)
Differential Revision: https://reviews.llvm.org/D81596

clang/utils/analyzer/entrypoint.py

index 8a1f59e..02eb5cb 100644 (file)
@@ -23,16 +23,21 @@ def parse_arguments() -> Tuple[argparse.Namespace, List[str]]:
     return parser.parse_known_args()
 
 
-def build_llvm() -> None:
+def build_llvm():
     os.chdir('/build')
     try:
-        cmake()
+        if is_cmake_needed():
+            cmake()
         ninja()
     except CalledProcessError:
         print("Build failed!")
         sys.exit(1)
 
 
+def is_cmake_needed():
+    return "build.ninja" not in os.listdir()
+
+
 CMAKE_COMMAND = "cmake -G Ninja -DCMAKE_BUILD_TYPE=Release " \
     "-DCMAKE_INSTALL_PREFIX=/analyzer -DLLVM_TARGETS_TO_BUILD=X86 " \
     "-DLLVM_ENABLE_PROJECTS=clang -DLLVM_BUILD_RUNTIME=OFF " \