reactos/modules/CMakeLists.txt
Hermès Bélusca-Maïto a77b69cc44
[REACTOS] Introduce the experimental all-in-one ReactOS BootCD
It contains both the text-mode 1st-stage installer and the LiveCD
functionality with the 1st-stage GUI installer.
Our separate LiveCD ISOs become obsolete, and this completely remove
the need for the so-called "hybridcd" ISO.

Some details:

- the "hybridcd" build target is completely removed, since now the new
  BootCD *is* basically what we used to call "hybridcd";

- the "livecd" build target is kept so far (to minimize the code changes),
  but internally I start to refer to it as "LiveImage", and it is reduced
  to a minimum: currently a minimal non-bootable "liveimage.iso" is built
  in order to implement the "ReactOS Live in RAMDISK" functionality
  (we currently don't support other file formats apart from ISO and
  flat disk for a RAMDISK), while the "ReactOS Live" (non-RAMDISK) is
  implemented by adding to the BootCD file tree the files from the LiveImage.
  These files add two root directories, "Profiles" and "reactos" (which is
  the SystemRoot for the non-ramdisk LiveImage).

- The minimal text-mode ReactOS installation used during the 1st-stage
  text-mode installer, including USETUP itself and the executable for
  the 1st-stage GUI installer and the reactos.cab (installation source)
  are moved to the root directory called "i386" (ideally, one directory
  per architecture).

- the "bootcdregtest" target, i.e. the ISOs we feed our testbots with,
  are left untouched, i.e. they are only constituted of the 1st-stage
  text-mode installation, in the root directory named "reactos".

More details will be presented in a subsequent mail to the ros-dev mailing list.

svn path=/branches/setup_improvements/; revision=75273
2024-02-20 16:56:45 +01:00

46 lines
1.9 KiB
CMake

option(ENABLE_ROSAPPS "Enable building the ReactOS extra applications" OFF)
option(ENABLE_ROSTESTS "Enable building the ReactOS test suite" OFF)
option(ENABLE_WALLPAPERS "Integrate wallpapers into the built ISOs" OFF)
if(ENABLE_ROSAPPS)
add_subdirectory(rosapps)
endif()
if(ENABLE_ROSTESTS)
add_subdirectory(rostests)
endif()
if(ENABLE_WALLPAPERS)
add_subdirectory(wallpapers)
endif()
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/AHK_Tests/)
add_subdirectory(AHK_Tests)
endif()
## Extra files for the Boot/Live CD. You need to put them under "[boot|live]cd_extras"
## using the same layout as you want them to be in the CD.
## If you change the content of any of the following folders later on,
## run "cmake ." before compiling.
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/)
file(GLOB_RECURSE EXTRA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/ ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/*)
foreach(item ${EXTRA_FILES})
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/bootcd_extras/${item} DESTINATION extras NO_CAB NAME_ON_CD ${item} FOR bootcd regtest)
endforeach(item)
endif()
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/livecd_extras/)
file(GLOB_RECURSE EXTRA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/livecd_extras/ ${CMAKE_CURRENT_SOURCE_DIR}/livecd_extras/*)
foreach(item ${EXTRA_FILES})
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/livecd_extras/${item} DESTINATION extras NO_CAB NAME_ON_CD ${item} FOR livecd)
endforeach(item)
endif()
## Extra files which you need existing on the hard drive after the installation.
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/)
file(GLOB_RECURSE EXTRA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/ ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/*)
foreach(item ${EXTRA_FILES})
add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/${item} DESTINATION reactos/3rdParty NAME_ON_CD ${item} FOR bootcd)
endforeach(item)
endif()