From 7b68bbb92296a2f3740bd6b22fec157197bf06fd Mon Sep 17 00:00:00 2001 From: xengineering Date: Fri, 14 Feb 2025 14:34:51 +0100 Subject: pcb: Export BOM as CSV with CMake --- cmake/kicad.cmake | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'cmake/kicad.cmake') 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() -- cgit v1.2.3-70-g09d2