diff --git a/clang/utils/analyzer/entrypoint.py b/clang/utils/analyzer/entrypoint.py --- a/clang/utils/analyzer/entrypoint.py +++ b/clang/utils/analyzer/entrypoint.py @@ -23,16 +23,21 @@ 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 " \