@@ -30,22 +30,19 @@ import (
3030 "github.com/arduino/arduino-cli/arduino/builder/utils"
3131 "github.com/arduino/arduino-cli/arduino/globals"
3232 "github.com/arduino/arduino-cli/arduino/libraries"
33- "github.com/arduino/arduino-cli/arduino/sketch"
3433 "github.com/arduino/arduino-cli/legacy/builder/constants"
3534)
3635
3736var lineMatcher = regexp .MustCompile (`^#line\s\d+\s"` )
3837
39- func ExportProjectCMake (
38+ // ExportProjectCMake fixdoc
39+ func (b * Builder ) ExportProjectCMake (
4040 sketchError bool , // Was there an error while compiling the sketch?
41- buildPath , sketchBuildPath * paths.Path ,
4241 importedLibraries libraries.List ,
43- buildProperties * properties.Map ,
44- sketch * sketch.Sketch ,
4542 includeFolders paths.PathList ,
4643 lineOffset int ,
4744 onlyUpdateCompilationDatabase bool ,
48- ) ([] byte , [] byte , error ) {
45+ ) error {
4946 // copies the contents of the file named src to the file named
5047 // by dst. The file will be created if it does not already exist. If the
5148 // destination file exists, all it's contents will be replaced by the contents
@@ -182,12 +179,12 @@ func ExportProjectCMake(
182179 var validStaticLibExtensions = []string {".a" }
183180
184181 // If sketch error or cannot export Cmake project
185- if sketchError || buildProperties .Get ("compiler.export_cmake" ) == "" {
186- return nil , nil , nil
182+ if sketchError || b . buildProperties .Get ("compiler.export_cmake" ) == "" {
183+ return nil
187184 }
188185
189186 // Create new cmake subFolder - clean if the folder is already there
190- cmakeFolder := buildPath .Join ("_cmake" )
187+ cmakeFolder := b . buildPath .Join ("_cmake" )
191188 if _ , err := cmakeFolder .Stat (); err == nil {
192189 cmakeFolder .RemoveAll ()
193190 }
@@ -207,7 +204,7 @@ func ExportProjectCMake(
207204 for _ , library := range importedLibraries {
208205 // Copy used libraries in the correct folder
209206 libDir := libBaseFolder .Join (library .DirName )
210- mcu := buildProperties .Get ("build.mcu" )
207+ mcu := b . buildProperties .Get ("build.mcu" )
211208 copyDir (library .InstallDir .String (), libDir .String (), validExportExtensions )
212209
213210 // Read cmake options if available
@@ -238,28 +235,20 @@ func ExportProjectCMake(
238235 }
239236
240237 // Copy core + variant in use + preprocessed sketch in the correct folders
241- err := copyDir (buildProperties .Get ("build.core.path" ), coreFolder .String (), validExportExtensions )
238+ err := copyDir (b . buildProperties .Get ("build.core.path" ), coreFolder .String (), validExportExtensions )
242239 if err != nil {
243240 fmt .Println (err )
244241 }
245- err = copyDir (buildProperties .Get ("build.variant.path" ), coreFolder .Join ("variant" ).String (), validExportExtensions )
242+ err = copyDir (b . buildProperties .Get ("build.variant.path" ), coreFolder .Join ("variant" ).String (), validExportExtensions )
246243 if err != nil {
247244 fmt .Println (err )
248245 }
249246
250- normalOutput , verboseOutput , err := PreprocessSketch (
251- sketch ,
252- buildPath ,
253- includeFolders ,
254- lineOffset ,
255- buildProperties ,
256- onlyUpdateCompilationDatabase ,
257- )
258- if err != nil {
259- return normalOutput , verboseOutput , err
247+ if err := b .PreprocessSketch (includeFolders , lineOffset , onlyUpdateCompilationDatabase ); err != nil {
248+ return err
260249 }
261250
262- err = copyDir (sketchBuildPath .String (), cmakeFolder .Join ("sketch" ).String (), validExportExtensions )
251+ err = copyDir (b . sketchBuildPath .String (), cmakeFolder .Join ("sketch" ).String (), validExportExtensions )
263252 if err != nil {
264253 fmt .Println (err )
265254 }
@@ -294,9 +283,9 @@ func ExportProjectCMake(
294283 var dynamicLibsFromGccMinusL []string
295284 var linkDirectories []string
296285
297- extractCompileFlags (buildProperties , constants .RECIPE_C_COMBINE_PATTERN , & defines , & dynamicLibsFromGccMinusL , & linkerflags , & linkDirectories )
298- extractCompileFlags (buildProperties , "recipe.c.o.pattern" , & defines , & dynamicLibsFromGccMinusL , & linkerflags , & linkDirectories )
299- extractCompileFlags (buildProperties , "recipe.cpp.o.pattern" , & defines , & dynamicLibsFromGccMinusL , & linkerflags , & linkDirectories )
286+ extractCompileFlags (b . buildProperties , constants .RECIPE_C_COMBINE_PATTERN , & defines , & dynamicLibsFromGccMinusL , & linkerflags , & linkDirectories )
287+ extractCompileFlags (b . buildProperties , "recipe.c.o.pattern" , & defines , & dynamicLibsFromGccMinusL , & linkerflags , & linkDirectories )
288+ extractCompileFlags (b . buildProperties , "recipe.cpp.o.pattern" , & defines , & dynamicLibsFromGccMinusL , & linkerflags , & linkDirectories )
300289
301290 // Extract folders with .h in them for adding in include list
302291 headerFiles , _ := utils .FindFilesInFolder (cmakeFolder , true , validHeaderExtensions ... )
@@ -307,7 +296,7 @@ func ExportProjectCMake(
307296
308297 // Generate the CMakeLists global file
309298
310- projectName := sketch .Name
299+ projectName := b . sketch .Name
311300
312301 cmakelist := "cmake_minimum_required(VERSION 3.5.0)\n "
313302 cmakelist += "INCLUDE(FindPkgConfig)\n "
@@ -364,7 +353,7 @@ func ExportProjectCMake(
364353
365354 cmakeFile .WriteFile ([]byte (cmakelist ))
366355
367- return normalOutput , verboseOutput , nil
356+ return nil
368357}
369358
370359func extractCompileFlags (buildProperties * properties.Map , recipe string , defines , dynamicLibs , linkerflags , linkDirectories * []string ) {
0 commit comments