File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -169,11 +169,23 @@ def main():
169169 warn ("Ignoring pre-existing CMAKE_ARGS in environment" )
170170 del env ["CMAKE_ARGS" ]
171171
172- env ["CMAKE_ARGS" ] = cmake_args
173-
174172 if args .bin_llvm :
175- env ["PATH" ] = ":" .join ((env .get ("PATH" , "" ), args .bin_llvm ))
173+ llvm_cov = os .path .join (args .bin_llvm , "llvm-cov" )
174+ llvm_profdata = os .path .join (args .bin_llvm , "llvm-profdata" )
175+ env = os .environ .copy ()
176+ if not (os .path .isfile (llvm_cov ) and os .access (llvm_cov , os .X_OK )):
177+ err (f"Cannot find executable llvm-cov in { args .bin_llvm } " )
178+ if not (
179+ os .path .isfile (llvm_profdata ) and os .access (llvm_profdata , os .X_OK )
180+ ):
181+ err (f"Cannot find executable llvm-profdata in { args .bin_llvm } " )
182+ env ["PATH" ] = f"{ args .bin_llvm } :{ env .get ('PATH' , '' )} "
176183 env ["LLVM_TOOLS_HOME" ] = args .bin_llvm
184+ cmake_args += f" -DLLVM_TOOLS_HOME={ args .bin_llvm } "
185+ cmake_args += f" -DLLVM_PROFDATA={ llvm_profdata } "
186+ cmake_args += f" -DLLVM_COV={ llvm_cov } "
187+
188+ env ["CMAKE_ARGS" ] = cmake_args
177189
178190 print (f"[gen_coverage] Using CMake args:\n { env ['CMAKE_ARGS' ]} " )
179191
You can’t perform that action at this time.
0 commit comments