- add livecd target

svn path=/branches/cmake-bringup/; revision=51751
This commit is contained in:
Jérôme Gardou 2011-05-15 07:50:26 +00:00
parent 91f3191275
commit 35c4e5db52
4 changed files with 44 additions and 8 deletions

View file

@ -106,10 +106,6 @@ else()
# IDL macros for widl/midl
include(cmake/idl-support.cmake)
#Some useful variables
set(LIVECD_DIR "${REACTOS_BINARY_DIR}/boot/livecd")
set(BOOTCD_DIR "${REACTOS_BINARY_DIR}/boot/bootcd")
# Activate support for assembly source files
enable_language(ASM)

View file

@ -157,4 +157,22 @@ function(add_cd_file)
endif()
endif()
endif() #end bootcd
#do we add it to livecd?
list(FIND _CD_FOR livecd __cd)
if(NOT __cd EQUAL -1)
#manage dependency
if(_CD_TARGET)
add_dependencies(livecd ${_CD_TARGET})
endif()
foreach(item ${_CD_FILE})
file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.cmake "file(COPY \"${item}\" DESTINATION \"\${CD_DIR}/${_CD_DESTINATION}\")\n")
endforeach()
if(_CD_NAME_ON_CD)
get_filename_component(__file ${_CD_FILE} NAME)
#rename it in the cd tree
file(APPEND ${REACTOS_BINARY_DIR}/boot/livecd.cmake "file(RENAME \${CD_DIR}/${_CD_DESTINATION}/${__file} \${CD_DIR}/${_CD_DESTINATION}/${_CD_NAME_ON_CD})\n")
endif()
endif() #end livecd
endfunction()

View file

@ -1,4 +1,4 @@
##bootcd
#clear it out
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake
"file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bootcd)\n")
@ -6,8 +6,18 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake
add_custom_target(bootcd
${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/bootcd
-P ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake
COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${BOOTCD_DIR} REACTOS ${REACTOS_BINARY_DIR}/bootcd.iso
#DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake
COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/bootcd REACTOS ${REACTOS_BINARY_DIR}/bootcd.iso
VERBATIM)
##livecd
#clear it out
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake
"file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/livecd)\n")
add_custom_target(livecd
${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/livecd
-P ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake
COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/livecd REACTOS ${REACTOS_BINARY_DIR}/livecd.iso
VERBATIM)
add_subdirectory(freeldr)

View file

@ -7,7 +7,7 @@ add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivedef_${ARCH}.inf DESTINATION rea
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesft_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesft.inf FOR bootcd)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hivesys_${ARCH}.inf DESTINATION reactos NO_CAB NAME_ON_CD hivesys.inf FOR bootcd)
# bootcd/livecd hives
# livecd hives
list(APPEND CD_HIVES
${CMAKE_CURRENT_SOURCE_DIR}/livecd.inf
${CMAKE_CURRENT_SOURCE_DIR}/hiveinst_${ARCH}.inf)
@ -16,8 +16,20 @@ add_custom_target(livecd_hives
native-mkhive ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${ARCH} ${CD_HIVES}
DEPENDS native-mkhive ${CD_HIVES})
add_cd_file(
FILE ${CMAKE_CURRENT_BINARY_DIR}/sam
${CMAKE_CURRENT_BINARY_DIR}/default
${CMAKE_CURRENT_BINARY_DIR}/security
${CMAKE_CURRENT_BINARY_DIR}/software
${CMAKE_CURRENT_BINARY_DIR}/system
TARGET livecd_hives
DESTINATION reactos/system32/config
FOR livecd)
#regtest
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcdregtest/regtest.cmd DESTINATION reactos/bin FOR all)
#freeldr.ini
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd.ini DESTINATION root NO_CAB NAME_ON_CD freeldr.ini FOR bootcd)
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd.ini DESTINATION root NAME_ON_CD freeldr.ini FOR livecd)