summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake')
-rw-r--r--cmake/kicad.cmake28
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()