/// <summary> /// Compile/Load in extra C++ files and move the include files locally so they can be easily /// referenced by the query code. /// </summary> /// <param name="queryDirectory">Location where we move the files to compiling</param> private async Task LoadExtraCPPFiles(DirectoryInfo queryDirectory, StringBuilder cmds) { // Move everything over, and then compile! if (Environment.ExtraComponentFiles != null) { foreach (var fd in Environment.ExtraComponentFiles) { var output = ExecutionUtilities.CopyToDirectory(fd, queryDirectory); try { await CompileAndLoad(output, cmds, queryDirectory); } catch (Exception) { Console.WriteLine("Failed to build {0}. Ignoring and crossing fingers.", output.Name); } } } }
/// <summary> /// Copy this source file (along with any includes in it) to /// our common area. /// </summary> /// <param name="sourceFile"></param> public static FileInfo CopyToCommonDirectory(FileInfo sourceFile) { return(ExecutionUtilities.CopyToDirectory(sourceFile, CommonSourceDirectory())); }