[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
This commit is contained in:
Hermès Bélusca-Maïto 2017-03-12 17:43:12 +00:00
parent 00ce056206
commit ed384844a1
2 changed files with 20 additions and 2 deletions

View file

@ -20,11 +20,13 @@ add_custom_target(efisys
DEPENDS native-fatten fat bootmgfw bcd_hive DEPENDS native-fatten fat bootmgfw bcd_hive
VERBATIM) VERBATIM)
# Create an 'empty' directory (guaranteed to be empty) to be able to add # Create an 'empty' directory (guaranteed to be empty) to be able to add
# arbitrary empty directories to the ISO image using mkisofs. # arbitrary empty directories to the ISO image using mkisofs.
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/empty) 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(_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(_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) 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 -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcd.lst
DEPENDS native-mkisofs DEPENDS native-mkisofs
VERBATIM) VERBATIM)
add_custom_target(isohybrid_bootcd
COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcd.iso
DEPENDS native-isohybrid isombr bootcd
VERBATIM)
## BootCDRegTest ## BootCDRegTest
# Create the file list # 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 -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.lst
DEPENDS native-mkisofs DEPENDS native-mkisofs
VERBATIM) VERBATIM)
add_custom_target(isohybrid_bootcdregtest
COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/bootcdregtest.iso
DEPENDS native-isohybrid isombr bootcdregtest
VERBATIM)
## LiveCD ## LiveCD
# Create the file list # 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 -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/livecd.lst
DEPENDS native-mkisofs DEPENDS native-mkisofs
VERBATIM) VERBATIM)
add_custom_target(isohybrid_livecd
COMMAND native-isohybrid -b ${_isombr_file} ${REACTOS_BINARY_DIR}/livecd.iso
DEPENDS native-isohybrid isombr livecd
VERBATIM)
## HybridCD ## HybridCD
# Create the file list # 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 -duplicates-once -no-cache-inodes -graft-points -path-list ${CMAKE_CURRENT_BINARY_DIR}/hybridcd.lst
DEPENDS native-mkisofs bootcd livecd DEPENDS native-mkisofs bootcd livecd
VERBATIM) 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) add_cd_file(TARGET efisys FILE ${CMAKE_CURRENT_BINARY_DIR}/efisys.bin DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR bootcd regtest livecd hybridcd)

View file

@ -6,7 +6,7 @@ endif()
string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type) string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type)
# List of host tools # 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) if(NOT MSVC)
list(APPEND host_tools_list rsym) list(APPEND host_tools_list rsym)
endif() endif()