[MODULES] Add a convenient option to transfer files into a new installation (#877)
authorBernhard Feichtinger <43303168+BieHDC@users.noreply.github.com>
Fri, 16 Nov 2018 22:26:58 +0000 (23:26 +0100)
committerHermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Fri, 16 Nov 2018 22:26:58 +0000 (23:26 +0100)
Purpose:
When doing a PXE BootCD installation, you may be left without networking, usb and a cd drive.
This adds an easy way to include a few or more files to the installation which are then present on the disk after the installation and which does not require any change to ReactOS source code/build script files (and no manual editing of boot/bootdata/packages/reactos.dff.in).

Proposed changes:
Adds a new modules/3rdparty folder which lets the files end up in C:\ReactOS\3rdParty ready for use.

.gitignore
boot/bootdata/packages/reactos.dff.in
modules/CMakeLists.txt
sdk/cmake/CMakeMacros.cmake

index 9bed1e8..717e06c 100644 (file)
@@ -3,6 +3,7 @@ modules/optional
 modules/bootcd_extras
 modules/livecd_extras
 modules/hybridcd_extras
+modules/3rdparty
 .cproject
 .project
 .settings
index 9424840..0b55079 100644 (file)
@@ -81,6 +81,7 @@ Signature = "$Windows NT$"
 60 = winsxs\x86_reactos.newapi_6595b64144ccf1df_1.0.0.0_none_deadbeef
 61 = winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.0.14393.0_none_deadbeef
 62 = Resources\Themes\Modern
+63 = 3rdParty
 
 .InfEnd
 
index 78123b6..4c68bfb 100644 (file)
@@ -17,6 +17,8 @@ endif()
 
 ## Extra files for Boot/Live/Hybrid CD. You need to put them under [boot|live|hybrid]cd_extras
 ## in 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})
@@ -35,3 +37,11 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd_extras/)
         add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/hybridcd_extras/${item} DESTINATION extras NO_CAB NAME_ON_CD ${item} FOR hybridcd)
     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()
index f7eba51..f5d2a0b 100644 (file)
@@ -294,6 +294,8 @@ macro(dir_to_num dir var)
         set(${var} 61)
     elseif(${dir} STREQUAL reactos/Resources/Themes/Modern)
         set(${var} 62)
+    elseif(${dir} STREQUAL reactos/3rdParty)
+        set(${var} 63)
     else()
         message(FATAL_ERROR "Wrong destination: ${dir}")
     endif()