diff options
Diffstat (limited to 'cmake/kicad.cmake')
-rw-r--r-- | cmake/kicad.cmake | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cmake/kicad.cmake b/cmake/kicad.cmake index 126d2e4..6c2f612 100644 --- a/cmake/kicad.cmake +++ b/cmake/kicad.cmake @@ -12,6 +12,8 @@ function(kicad_schematic_to_pdf source target) kicad-cli sch export pdf --output ${pdf} ${source} DEPENDS ${source} + JOB_POOL + kicad ) add_custom_target( @@ -21,3 +23,29 @@ function(kicad_schematic_to_pdf source target) ${pdf} ) endfunction() + +function(kicad_bom_to_csv source target) + get_filename_component(name ${source} NAME) + get_filename_component(dir ${source} DIRECTORY) + file(RELATIVE_PATH rel "${CMAKE_SOURCE_DIR}" "${dir}") + set(name_csv "${name}.csv") + set(csv ${CMAKE_BINARY_DIR}/${rel}/${name_csv}) + + add_custom_command( + OUTPUT + ${csv} + COMMAND + kicad-cli sch export bom --output ${csv} ${source} + DEPENDS + ${source} + JOB_POOL + kicad + ) + + add_custom_target( + "${target}" + ALL + DEPENDS + ${csv} + ) +endfunction() |