https://git.reactos.org/?p=reactos.git;a=commitdiff;h=76daaf9fafadec0fbf98c…
commit 76daaf9fafadec0fbf98c068080cdd15320f4ffb
Author: Bernhard Feichtinger <43303168+BieHDC(a)users.noreply.github.com>
AuthorDate: Fri Nov 16 23:26:58 2018 +0100
Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org>
CommitDate: Fri Nov 16 23:26:58 2018 +0100
[MODULES] Add a convenient option to transfer files into a new installation (#877)
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 | 1 +
boot/bootdata/packages/reactos.dff.in | 1 +
modules/CMakeLists.txt | 10 ++++++++++
sdk/cmake/CMakeMacros.cmake | 2 ++
4 files changed, 14 insertions(+)
diff --git a/.gitignore b/.gitignore
index 9bed1e86be..717e06c033 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ modules/optional
modules/bootcd_extras
modules/livecd_extras
modules/hybridcd_extras
+modules/3rdparty
.cproject
.project
.settings
diff --git a/boot/bootdata/packages/reactos.dff.in
b/boot/bootdata/packages/reactos.dff.in
index 9424840238..0b550795d5 100644
--- a/boot/bootdata/packages/reactos.dff.in
+++ b/boot/bootdata/packages/reactos.dff.in
@@ -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
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
index 78123b6aed..4c68bfb1e5 100644
--- a/modules/CMakeLists.txt
+++ b/modules/CMakeLists.txt
@@ -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()
diff --git a/sdk/cmake/CMakeMacros.cmake b/sdk/cmake/CMakeMacros.cmake
index f7eba51794..f5d2a0befa 100644
--- a/sdk/cmake/CMakeMacros.cmake
+++ b/sdk/cmake/CMakeMacros.cmake
@@ -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()