From be07ec78da41136cdca6ec6329899a75154d1c78 Mon Sep 17 00:00:00 2001 From: Rick Rongen Date: Fri, 24 Mar 2023 22:33:57 +0100 Subject: [PATCH] feat: improved build process of boot-cdrom --- CMakeLists.txt | 15 +-------------- boot-cdrom/CMakeLists.txt | 24 ++++++++++++++++++++++++ boot-cdrom/limine-cd-efi.bin | 1 - boot-cdrom/limine-cd.bin | 1 - boot-cdrom/limine.sys | 1 - boot-cdrom/yak.elf | 1 - 6 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 boot-cdrom/CMakeLists.txt delete mode 120000 boot-cdrom/limine-cd-efi.bin delete mode 120000 boot-cdrom/limine-cd.bin delete mode 120000 boot-cdrom/limine.sys delete mode 120000 boot-cdrom/yak.elf diff --git a/CMakeLists.txt b/CMakeLists.txt index 0119496..5cb4f45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,17 +5,4 @@ include(FetchContent) add_subdirectory(yak-kernel) -add_custom_target(boot-cdrom.iso - COMMAND xorriso -follow on -as mkisofs - -b limine-cd.bin - -no-emul-boot - -boot-load-size 4 - -boot-info-table - --efi-boot - limine-cd-efi.bin - -efi-boot-part - --efi-boot-image - --protective-msdos-label - ${CMAKE_CURRENT_SOURCE_DIR}/boot-cdrom - -o boot-cdrom.iso - DEPENDS yak.elf) \ No newline at end of file +add_subdirectory(boot-cdrom) diff --git a/boot-cdrom/CMakeLists.txt b/boot-cdrom/CMakeLists.txt new file mode 100644 index 0000000..5124358 --- /dev/null +++ b/boot-cdrom/CMakeLists.txt @@ -0,0 +1,24 @@ +project(boot-cdrom) + +add_custom_target(cdrom-dir + COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/cdrom + COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR}/../limine/limine/limine.sys ${CMAKE_CURRENT_BINARY_DIR}/cdrom/limine.sys + COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR}/../limine/limine/limine-cd.bin ${CMAKE_CURRENT_BINARY_DIR}/cdrom/limine-cd.bin + COMMAND ${CMAKE_COMMAND} -E create_symlink ${PROJECT_SOURCE_DIR}/../limine/limine/limine-cd-efi.bin ${CMAKE_CURRENT_BINARY_DIR}/cdrom/limine-cd-efi.bin + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/limine.cfg ${CMAKE_CURRENT_BINARY_DIR}/cdrom/limine.cfg + COMMAND ${CMAKE_COMMAND} -E create_symlink $ ${CMAKE_CURRENT_BINARY_DIR}/cdrom/yak.elf + DEPENDS yak.elf) +add_custom_target(boot-cdrom.iso + COMMAND xorriso -follow on -as mkisofs + -b limine-cd.bin + -no-emul-boot + -boot-load-size 4 + -boot-info-table + --efi-boot + limine-cd-efi.bin + -efi-boot-part + --efi-boot-image + --protective-msdos-label + ${CMAKE_CURRENT_BINARY_DIR}/cdrom + -o boot-cdrom.iso + DEPENDS cdrom-dir yak.elf) diff --git a/boot-cdrom/limine-cd-efi.bin b/boot-cdrom/limine-cd-efi.bin deleted file mode 120000 index d333f7d..0000000 --- a/boot-cdrom/limine-cd-efi.bin +++ /dev/null @@ -1 +0,0 @@ -../limine/limine/limine-cd-efi.bin \ No newline at end of file diff --git a/boot-cdrom/limine-cd.bin b/boot-cdrom/limine-cd.bin deleted file mode 120000 index 65d1d7a..0000000 --- a/boot-cdrom/limine-cd.bin +++ /dev/null @@ -1 +0,0 @@ -../limine/limine/limine-cd.bin \ No newline at end of file diff --git a/boot-cdrom/limine.sys b/boot-cdrom/limine.sys deleted file mode 120000 index 0c8c7e3..0000000 --- a/boot-cdrom/limine.sys +++ /dev/null @@ -1 +0,0 @@ -../limine/limine/limine.sys \ No newline at end of file diff --git a/boot-cdrom/yak.elf b/boot-cdrom/yak.elf deleted file mode 120000 index 387d5d9..0000000 --- a/boot-cdrom/yak.elf +++ /dev/null @@ -1 +0,0 @@ -../cmake-build-debug-system-llvm/yak-kernel/yak.elf \ No newline at end of file