Skip to content

Commit 43a5593

Browse files
authored
Pass PIOASM_EXTRA_SOURCE_FILES to Pioasm sub-cmake and add OUTPUT_FORMAT option (fixes #827) (#828)
1 parent 7928139 commit 43a5593

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

tools/CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,18 @@ function(_pico_init_pioasm)
44
find_package(Pioasm REQUIRED)
55
endfunction()
66

7+
# PICO_DEFAULT_PIOASM_OUTPUT_FORMAT, default output format used by pioasm when using pico_generate_pio_header, default=c-sdk, group=build
78
function(pico_generate_pio_header TARGET PIO)
89
_pico_init_pioasm()
9-
cmake_parse_arguments(pico_generate_pio_header "" "OUTPUT_DIR" "" ${ARGN} )
10+
cmake_parse_arguments(pico_generate_pio_header "" "OUTPUT_FORMAT;OUTPUT_DIR" "" ${ARGN} )
11+
12+
if (pico_generate_pio_header_OUTPUT_FORMAT)
13+
set(OUTPUT_FORMAT "${pico_generate_pio_header_OUTPUT_FORMAT}")
14+
elseif(DEFINED PICO_DEFAULT_PIOASM_OUTPUT_FORMAT)
15+
set(OUTPUT_FORMAT "${PICO_DEFAULT_PIOASM_OUTPUT_FORMAT}")
16+
else()
17+
set(OUTPUT_FORMAT "c-sdk")
18+
endif()
1019

1120
if (pico_generate_pio_header_OUTPUT_DIR)
1221
get_filename_component(HEADER_DIR ${pico_generate_pio_header_OUTPUT_DIR} ABSOLUTE)
@@ -23,7 +32,7 @@ function(pico_generate_pio_header TARGET PIO)
2332

2433
add_custom_command(OUTPUT ${HEADER}
2534
DEPENDS ${PIO}
26-
COMMAND Pioasm -o c-sdk ${PIO} ${HEADER}
35+
COMMAND Pioasm -o ${OUTPUT_FORMAT} ${PIO} ${HEADER}
2736
)
2837
add_dependencies(${TARGET} ${HEADER_GEN_TARGET})
2938
get_target_property(target_type ${TARGET} TYPE)

tools/FindPioasm.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ if (NOT Pioasm_FOUND)
2929
BINARY_DIR ${PIOASM_BINARY_DIR}
3030
BUILD_ALWAYS 1 # force dependency checking
3131
INSTALL_COMMAND ""
32+
CMAKE_CACHE_ARGS "-DPIOASM_EXTRA_SOURCE_FILES:STRING=${PIOASM_EXTRA_SOURCE_FILES}"
3233
)
3334
endif()
3435

0 commit comments

Comments
 (0)