~aleteoryx/muditaos

ref: 149514e8364c0753c9eec29d48b227fb85fc4bda muditaos/cmake/modules/DiskImage.cmake -rw-r--r-- 1.1 KiB
149514e8 — Jakub Pyszczak [EGD-7169] Changed genlfs path 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function(add_image SOURCE_TARGET)
    set(DISK_IMAGE_NAME ${SOURCE_TARGET}.img)
    set(DISK_IMAGE ${CMAKE_BINARY_DIR}/${DISK_IMAGE_NAME})
    set(BIN_FILE_TARGET ${SOURCE_TARGET}-boot.bin)
    get_target_property(BIN_FILE ${BIN_FILE_TARGET} BIN_FILE)

    if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051")
        SET(TARGET_DEP ${BIN_FILE} pureflash)
    else()
        SET(TARGET_DEP ${SOURCE_TARGET})
    endif()

    add_custom_command(
        OUTPUT ${DISK_IMAGE_NAME}
        DEPENDS genlittlefs
        DEPENDS assets
        DEPENDS ${BIN_FILE_TARGET}
        DEPENDS ${TARGET_DEP}
        DEPENDS ${CMAKE_SOURCE_DIR}/generate_image.sh
        COMMAND ${CMAKE_SOURCE_DIR}/generate_image.sh
        ${DISK_IMAGE}
        ${CMAKE_BINARY_DIR}
        "$<$<STREQUAL:${PROJECT_TARGET},TARGET_RT1051>:${BIN_FILE}>"
        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
        COMMENT "Generate ${DISK_IMAGE_NAME}"
        )

    message("Adding disk image target: ${DISK_IMAGE_NAME}")
    add_custom_target(${SOURCE_TARGET}-disk-img
        DEPENDS ${DISK_IMAGE_NAME})

endfunction()