summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/kicad.cmake40
-rw-r--r--pcb/CMakeLists.txt14
2 files changed, 26 insertions, 28 deletions
diff --git a/cmake/kicad.cmake b/cmake/kicad.cmake
index 6c2f612..469b3a5 100644
--- a/cmake/kicad.cmake
+++ b/cmake/kicad.cmake
@@ -1,51 +1,39 @@
-function(kicad_schematic_to_pdf source target)
- get_filename_component(name ${source} NAME)
- get_filename_component(dir ${source} DIRECTORY)
- file(RELATIVE_PATH rel "${CMAKE_SOURCE_DIR}" "${dir}")
- set(name_pdf "${name}.pdf")
- set(pdf ${CMAKE_BINARY_DIR}/${rel}/${name_pdf})
+function(kicad_schematic_pdf target sink source)
+ add_custom_target(
+ "${target}"
+ ALL
+ DEPENDS
+ ${sink}
+ )
add_custom_command(
OUTPUT
- ${pdf}
+ ${sink}
COMMAND
- kicad-cli sch export pdf --output ${pdf} ${source}
+ kicad-cli sch export pdf --output ${sink} ${source}
DEPENDS
${source}
JOB_POOL
kicad
)
+endfunction()
+function(kicad_bom_csv target sink source)
add_custom_target(
"${target}"
ALL
DEPENDS
- ${pdf}
+ ${sink}
)
-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}
+ ${sink}
COMMAND
- kicad-cli sch export bom --output ${csv} ${source}
+ kicad-cli sch export bom --output ${sink} ${source}
DEPENDS
${source}
JOB_POOL
kicad
)
-
- add_custom_target(
- "${target}"
- ALL
- DEPENDS
- ${csv}
- )
endfunction()
diff --git a/pcb/CMakeLists.txt b/pcb/CMakeLists.txt
index abe84dc..8d2c49a 100644
--- a/pcb/CMakeLists.txt
+++ b/pcb/CMakeLists.txt
@@ -7,5 +7,15 @@ include(kicad)
set_property(GLOBAL PROPERTY JOB_POOLS kicad=1)
set(schematic "${CMAKE_CURRENT_SOURCE_DIR}/iot-contact.kicad_sch")
-kicad_schematic_to_pdf("${schematic}" "pcb-schematic-pdf")
-kicad_bom_to_csv("${schematic}" "pcb-bom-csv")
+
+kicad_schematic_pdf(
+ "schematic"
+ "${CMAKE_CURRENT_BINARY_DIR}/schematic.pdf"
+ "${schematic}"
+)
+
+kicad_bom_csv(
+ "bom"
+ "${CMAKE_CURRENT_BINARY_DIR}/bom.csv"
+ "${schematic}"
+)