38 lines
1.5 KiB
CMake
38 lines
1.5 KiB
CMake
project(checkm8_libpayload)
|
|
|
|
set(PL_NAMES
|
|
aes_busy
|
|
aes_sw
|
|
exit_usb_task
|
|
floppysleep
|
|
sync)
|
|
|
|
foreach(NAME ${PL_NAMES})
|
|
list(APPEND PL_TARGETS "payload_${NAME}")
|
|
list(APPEND PL_SRC_BIN "${CMAKE_CURRENT_LIST_DIR}/payload/src/${NAME}.c")
|
|
endforeach(NAME)
|
|
|
|
foreach(TARGET ${PL_TARGETS})
|
|
list(APPEND PL_SRC_LIB "${CMAKE_CURRENT_BINARY_DIR}/lib_cfiles/${TARGET}.c")
|
|
list(APPEND PL_BIN "${CMAKE_CURRENT_BINARY_DIR}/payload/bin/${TARGET}.bin")
|
|
endforeach(TARGET)
|
|
|
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/payload)
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib_cfiles)
|
|
add_custom_target(payload_sources
|
|
BYPRODUCTS ${PL_SRC_LIB}
|
|
DEPENDS ${PL_TARGETS}
|
|
COMMENT "Refreshing payload library"
|
|
COMMAND python3 ${CMAKE_CURRENT_LIST_DIR}/scripts/librarize.py
|
|
${CMAKE_CURRENT_BINARY_DIR}/payload/bin
|
|
${CMAKE_CURRENT_BINARY_DIR}/lib_cfiles)
|
|
|
|
add_library(payload ${PL_SRC_LIB})
|
|
add_dependencies(payload payload_sources)
|
|
|
|
add_custom_command(TARGET payload POST_BUILD
|
|
BYPRODUCTS ${CMAKE_SOURCE_DIR}/c8_remote/include/libpayload.h
|
|
COMMAND python3 ${CMAKE_CURRENT_LIST_DIR}/scripts/headerize.py
|
|
${CMAKE_CURRENT_BINARY_DIR}/lib
|
|
${CMAKE_SOURCE_DIR}/c8_remote/include) |