From ed384844a182d8f325d8bcb963d8daaa2041bace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Sun, 12 Mar 2017 17:43:12 +0000 Subject: [PATCH] [HOST-TOOLS]: Add isohybrid to the list of host-tools (for NEW-BUILD scenario). [BOOT]: Add experimental "isohybrid_bootcd(regtest)/livecd/hybridcd" targets to build patched "ISO-Hybrid" (i.e. USB-flashable) ISOs using the isohybrid tool. CORE-12648 svn path=/trunk/; revision=74154 --- reactos/boot/CMakeLists.txt | 20 +++++++++++++++++++- reactos/sdk/cmake/host-tools.cmake | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/reactos/boot/CMakeLists.txt b/reactos/boot/CMakeLists.txt index 2fca49b0a20..c820b581f10 100644 --- a/reactos/boot/CMakeLists.txt +++ b/reactos/boot/CMakeLists.txt @@ -20,11 +20,13 @@ add_custom_target(efisys DEPENDS native-fatten fat bootmgfw bcd_hive VERBATIM) + # Create an 'empty' directory (guaranteed to be empty) to be able to add # arbitrary empty directories to the ISO image using mkisofs. file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/empty) -# Retrieve the full paths to the generated files of the 'isoboot', 'isobtrt' and 'efisys' targets +# Retrieve the full paths to the generated files of the 'isombr', 'isoboot', 'isobtrt' and 'efisys' targets +set(_isombr_file ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isombr.bin) # get_target_property(_isombr_file isombr LOCATION) set(_isoboot_file ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin) # get_target_property(_isoboot_file isoboot LOCATION) set(_isobtrt_file ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isobtrt.bin) # get_target_property(_isobtrt_file isobtrt LOCATION) set(_efisys_file ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin) # get_target_property(_efisys_file efisys LOCATION) @@ -68,6 +70,10 @@ add_custom_target(bootcd -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst DEPENDS native-mkisofs VERBATIM) +add_custom_target(isohybrid_bootcd + COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcd.iso + DEPENDS native-isohybrid isombr bootcd + VERBATIM) ## BootCDRegTest # Create the file list @@ -82,6 +88,10 @@ add_custom_target(bootcdregtest -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst DEPENDS native-mkisofs VERBATIM) +add_custom_target(isohybrid_bootcdregtest + COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcdregtest.iso + DEPENDS native-isohybrid isombr bootcdregtest + VERBATIM) ## LiveCD # Create the file list @@ -124,6 +134,10 @@ add_custom_target(livecd -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst DEPENDS native-mkisofs VERBATIM) +add_custom_target(isohybrid_livecd + COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/livecd.iso + DEPENDS native-isohybrid isombr livecd + VERBATIM) ## HybridCD # Create the file list @@ -166,6 +180,10 @@ add_custom_target(hybridcd -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst DEPENDS native-mkisofs bootcd livecd VERBATIM) +add_custom_target(isohybrid_hybridcd + COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/hybridcd.iso + DEPENDS native-isohybrid isombr hybridcd + VERBATIM) add_cd_file(TARGET efisys FILE ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd regtest livecd hybridcd) diff --git a/reactos/sdk/cmake/host-tools.cmake b/reactos/sdk/cmake/host-tools.cmake index 23c1cfdd4d9..40c4eb17352 100644 --- a/reactos/sdk/cmake/host-tools.cmake +++ b/reactos/sdk/cmake/host-tools.cmake @@ -6,7 +6,7 @@ endif() string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type) # List of host tools -list(APPEND host_tools_list bin2c hpp widl gendib cabman fatten mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb) +list(APPEND host_tools_list bin2c hpp widl gendib cabman fatten isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb) if(NOT MSVC) list(APPEND host_tools_list rsym) endif()