File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -172,8 +172,23 @@ def main():
172172 env ["CMAKE_ARGS" ] = cmake_args
173173
174174 if args .bin_llvm :
175- env ["PATH" ] = ":" .join ((env .get ("PATH" , "" ), args .bin_llvm ))
175+ llvm_cov = os .path .join (args .bin_llvm , "llvm-cov" )
176+ llvm_profdata = os .path .join (args .bin_llvm , "llvm-profdata" )
177+ env = os .environ .copy ()
178+ if not (os .path .isfile (llvm_cov ) and os .access (llvm_cov , os .X_OK )):
179+ err (f"Cannot find executable llvm-cov in { args .bin_llvm } " )
180+ if not (
181+ os .path .isfile (llvm_profdata ) and os .access (llvm_profdata , os .X_OK )
182+ ):
183+ err (f"Cannot find executable llvm-profdata in { args .bin_llvm } " )
184+ env ["PATH" ] = f"{ args .bin_llvm } :{ env .get ('PATH' , '' )} "
176185 env ["LLVM_TOOLS_HOME" ] = args .bin_llvm
186+ cmake_args += f" -DLLVM_TOOLS_HOME={ args .bin_llvm } "
187+ cmake_args += f" -DLLVM_PROFDATA={ llvm_profdata } "
188+ cmake_args += f" -DLLVM_COV={ llvm_cov } "
189+ env ["CMAKE_ARGS" ] = cmake_args
190+ else :
191+ env = os .environ .copy ()
177192
178193 print (f"[gen_coverage] Using CMake args:\n { env ['CMAKE_ARGS' ]} " )
179194
You can’t perform that action at this time.
0 commit comments