blob: abdc9071ba7763b6891fb6b50fe17da2585eb8c5 (
plain)
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
33
34
|
include_guard(GLOBAL)
function(target_generate_bootable_iso TARGET)
find_package("grub-mkrescue")
# set(MODULE_SRC
# "${PROJECT_SOURCE_DIR}/arch/${CMAKE_SYSTEM_PROCESSOR}/support/test.img"
# )
# set(MODULE_DST
# "$<TARGET_FILE_DIR:${TARGET}>/isofs/test.img"
# )
file(GENERATE
OUTPUT "$<TARGET_FILE_DIR:${TARGET}>/isofs/boot/grub/grub.cfg"
INPUT "${PROJECT_SOURCE_DIR}/arch/${CMAKE_SYSTEM_PROCESSOR}/support/grub.cfg.in"
)
add_custom_command(TARGET "${TARGET}"
POST_BUILD
# COMMAND "${CMAKE_COMMAND}" -E make_directory "$<TARGET_FILE_DIR:${TARGET}>/isofs"
# COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${MODULE_SRC}" "${MODULE_DST}"
COMMAND "${CMAKE_COMMAND}" -E make_directory "$<TARGET_FILE_DIR:${TARGET}>/isofs"
COMMAND "${CMAKE_COMMAND}" -E copy_directory "${PROJECT_SOURCE_DIR}/arch/${CMAKE_SYSTEM_PROCESSOR}/support/modules" "$<TARGET_FILE_DIR:${TARGET}>/isofs/modules"
COMMAND "${GRUB_MKRESCUE_EXE}"
"-o"
"$<TARGET_FILE_DIR:${TARGET}>/${TARGET}.iso"
"$<TARGET_FILE_DIR:${TARGET}>/isofs"
"$<TARGET_FILE:${TARGET}>"
"2>/dev/null"
BYPRODUCTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIGURATION>/${TARGET}.iso"
COMMENT "Creating bootable ISO image"
)
endfunction()
|