/** * Adds a single source file to be compiled. The given build variables will be added to those used * to compile this source file. Note that this should only be called for primary compilation * units, including module files or headers to be parsed or preprocessed. */ public CppModel addCompilationUnitSources( Iterable<Artifact> sourceFiles, Label sourceLabel, Map<String, String> buildVariables) { for (Artifact sourceFile : sourceFiles) { this.sourceFiles.add(CppSource.create(sourceFile, sourceLabel, buildVariables)); } return this; }