diff options
Diffstat (limited to 'cmake/kicad_generate_header.cmake')
-rw-r--r-- | cmake/kicad_generate_header.cmake | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/cmake/kicad_generate_header.cmake b/cmake/kicad_generate_header.cmake index 930c5ed..85b1f9b 100644 --- a/cmake/kicad_generate_header.cmake +++ b/cmake/kicad_generate_header.cmake @@ -1,6 +1,6 @@ function(kicad_generate_header) - set(options IN_SOURCE) - set(oneValueArgs OUTPUT NET REF OUTPUT_DIR TEMPLATE TEMPLATE_LIB_LIST) + set(options IN_SOURCE ALL) + set(oneValueArgs OUTPUT NET REF OUTPUT_DIR TEMPLATE TEMPLATE_LIB_LIST TARGET) cmake_parse_arguments(kicad_gen "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -42,16 +42,28 @@ function(kicad_generate_header) endif () set(lib "-l;${CMAKE_CURRENT_SOURCE_DIR}") - foreach(l IN LISTS kicad_gen_TEMPLATE_LIB_LIST) - list(APPEND lib -l) - list(APPEND lib "${l}") + foreach (l IN LISTS kicad_gen_TEMPLATE_LIB_LIST) + list(APPEND lib -l "${l}") endforeach () - set(output_file "${output_dir}/${output}") + set(output_file "${output_dir}/${output}") file(RELATIVE_PATH output_file_rel "${output_rel_dir}" ${output_file}) + message("kicad_generate_header: output_file=${output_file}") + message("kicad_generate_header: output_file_rel=${output_file_rel}") + add_custom_command(OUTPUT "${output_file}" COMMAND KicadUtils::generate-header -n ${NET} -r ${REF} -o ${output_file} ${t} ${template} ${lib} MAIN_DEPENDENCY ${NET} COMMENT "Generating ${output_file_rel}") + + if (kicad_gen_TARGET) + set(target "${kicad_gen_TARGET}") + if (kicad_gen_ALL) + set(all ALL) + endif () + + add_custom_target("${target}" ${all} DEPENDS ${output_file}) + endif () + endfunction() |